07 programacion matlab ejercicios

Upload: amado-malca

Post on 08-Aug-2018

477 views

Category:

Documents


4 download

TRANSCRIPT

  • 8/22/2019 07 programacion matlab ejercicios

    1/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    1

    7. PROGRAMACION EN MATLAB

    PROBLEMAS PROPUESTOS

    1. Calcule las siguientes expresiones a mano, sin utilizar MATLAB . Utilice luegoMATLAB para comprobar que el resultado es correcto.

    a) 5 8 3b) y = 7 3 1 6 2c) y = (7 3) 1 (6 2)d) y 2 x 4 5 - 7 20

    4

    2. Sean a = 10 y b = 6. Calcule las siguientes expresiones a mano, sin utilizarMATLAB. Utilice luego MATLAB para comprobar que el resultado es correcto.

    a) y a b b b)

    2

    by a b

    c)2

    by a b

    3. Sean 4 2 1 5 0 1 3 8 2v y 0 2 1 -1 0 -2 4 3 2w . Calcule lassiguientes expresiones a mano sin utilizar MATLAB. Utilice luego MATLAB para

    comprobar que el resultado es correcto.

    a) v w b) w v 4. A partir de los vectores v y w del ejercicio anterior, utilice operadores

    relacionados para crear un vector compuesto por los elementos de w que sean

    mayores que los elementos de v

    5. Calcule las siguientes expresiones a mano, sin utilizar MATLAB .Utilice luegoMATLAB para comprobar que le resultado es correcto

    a) 5&-2 b) 8 216 5& 2 c) 4&0 8 410 6. La temperatura mxima diaria (en F) en Nueva York y Anchorage, Alaska,

    durante el mes de enero de 2001 vienen dadas en los siguientes vectores (datos

    tomados del Ministerio Nacional de Meteorologa y Oceanografa de Estados Unidos).

    TNY = 31 26 30 33 33 39 41 41 34 33 45 42 36 39

    37 45 43 36 41 37 32 32 35 42 38 33 40 37 36 51 50

    TANC = 37 24 28 25 21 28 46 37 36 20 24 31 34 40

    43 36 34 41 42 35 38 36 35 33 42 42 37 26 20 25 31

    Escriba un programa script que calcule:a) La temperatura media en ese mes para cada ciudad.

  • 8/22/2019 07 programacion matlab ejercicios

    2/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    2

    b) El nmero de das que estuvo la temperatura de cada ciudad por debajo de lamedia.

    c) El nmero de das, y a qu das del mes corresponden, en los cuales latemperatura de Anchorage fue mayor que la temperatura de Nueva York.

    d) El nmero de das, y a qu das del mes corresponden, en los cuales latemperatura fue igual en ambas ciudades.

    e) El nmero de das, y a qu das del mes corresponden, en los cuales latemperatura de ambas ciudades se mantuvo por encima de 32F (sin helar).

    7. Represente la siguiente funcin de dos formas distintas:2

    2

    1/3

    4 6 2

    ( ) 2 2,5

    ( 6,5) 2,5 6

    xe x

    f x x x

    x x

    a) Escribiendo un fichero script que utilice bucles y sentencias condicionales.b) Cuando una funcin ( )f x para utilizarla posteriormente en un fichero script.8. Escriba un programa script que calcule las races reales de una funcin cuadrtica

    2 0ax bx c . Llame al fichero raicescuad . Cuando el fichero se ejecute, ste debe

    pedir al usuario que introduzca los valores de las constantes a, b y c . Para calcular las

    races de la ecuacin , el programa calcular el discriminante D :2D= 4b ac

    Si D0, el programa visualizar un mensaje del tipo: La ecuacin tiene dos races, y los

    valores de las races se visualizarn en la lnea siguiente.

    Si D=0, el programa visualizar un mensaje del tipo: La ecuacin tiene una raz, y elvalor de la raz se visualizar en la lnea siguiente.

    Si D0, el programa visualizar un mensaje del tipo: La ecuacin no tiene races reales.

    Ejecute el fichero script en la Ventana de Comandos tres veces para calcular las

    soluciones de las siguientes ecuaciones:

    a) 22 8 3 0x x b) 215 10 5 0x x c) 218 12 2 0x x 9. Utilice bucles para crear una matriz A de dimensin 4 x 7, en la cual el valor de

    cada elemento sea la suma de sus ndices (el nmero de la fila y el nmero de la

    columna de cada elemento). Por ejemplo, el valor del elemento A (2,5) ser 7.

    10. Utilice bucles y sentencias condicionales para crear una matriz de dimensin 5 x8, en la cual el valor de cada elemento sea igual a la raz cuadrada de la suma de los

    ndices de cada elemento, siempre que el elemento no se encuentre en una columna o

    fila par. El valor de un elemento que ste en una fila o columna par ser igual a la suma

    del cuadrado de los ndices. (Los ndices de un elemento de una matriz son el nmero

    de fila y el nmero de columna que le corresponden.)

  • 8/22/2019 07 programacion matlab ejercicios

    3/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    3

    11. Escriba un programa (utilizando un bucle) que calcule la suma de los m primerostrminos de la serie:

    0

    1( 1) ( 0,1,2,..., )

    2 1

    mn

    n

    n mn

    Esta serie se denomina se denomina serie de Leibniz, y converge a / 4 . Ejecute el

    programa para 10m y 500m . Compare posteriormente estos resultados con el

    valor exacto / 4 .

    12. Sea el vector 15 -6 0 8 -2 5 4 -10 0,5 3x . Escriba un programa que utilicesentencias condicionales y bucles para calcular la suma de los elementos positivos del

    vectorx .

    13. Escriba un programa script que encuentre el menor nmero entero impar que seadivisible por 3, y cuyo cubo sea mayor que 4000. Utilice un bucle que comience en 1 y se

    detenga cuando encuentre el nmero que cumpla las condiciones anteriores. Finalmente

    el programa visualizar el mensaje: El nmero pedido es: , y visualizar

    seguidamente el nmero calculado.

    14. Escriba una funcin que ordene los elementos de un vector de cualquier longitud,de mayor a menor. Utilice la siguiente lnea de definicin de funcin: y = ordenar (x) .

    La entrada de la funcin ser un vector x de cualquier longitud, y la salida y ser un

    vector que contendr los elementos de x en orden descendente. No se puede utilizar la

    funcin predefinida de MATLAB sort para este ejercicio. Cree su propia funcin y

    prubela con un vector de 14 elementos (enteros) generados aleatoriamente y

    distribuidos entre -30 y 30. Utilice la funcin rand de MATLAB para generar el vector

    inicial.

    15. Escriba una funcin que ordene los elementos de una matriz. Utilice la siguientelnea de definicin de funcin: B = ordenarmatriz (A) , donde A ser una matriz de

    cualquier tamao, y B ser otra matriz del mismo tamao con los elementos de A

    ordenados de forma ascendente, fila por fila. De esta forma, los elementos B (1,1) y B (

    ,m n ) sern, respectivamente, los elementos menor y mayor de la matriz ordenada.

    Pruebe posteriormente est funcin en una matriz de dimensin 4 x 7, con los nmeros

    enteros generados aleatoriamente y distribuidos entre -30 y 30. Utilice la funcin rand

    de MATLAB para generar la matriz inicial.

    16. Escriba un programa (fichero script) que calcule el coste de enviar un paquete enfuncin de la siguiente tabla de precios:

    Tipo de

    servicio

    Peso

    (0 2

    libras)

    Peso (2 10

    libras)

    Peso (10 50 libras)

    Tierra 1,50 1,50 + 0,50 adicionales por

    5,50 + 0,30 adicionales por cada

  • 8/22/2019 07 programacion matlab ejercicios

    4/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    4

    cada libra o

    fraccin de libra, a

    partir de las 2

    libras de peso.

    libra o fraccin de

    libra, a partir de las

    10 libras de peso.

    Aire 3,00 3,00 + 0,50

    adicionales por

    cada libra o

    fraccin de libra, a

    partir de las 2

    libras de peso.

    10,20 + 0,60

    adicionales por cada

    libra o fraccin de

    libra, a partir de las

    10 libras de peso.

    Nocturno 18 18 + 6

    adicionales por

    cada libra o

    fraccin de libra, a

    partir de las 10

    libras de peso-

    No se realizarn

    entregas para

    paquetes que pesen

    ms de 10 libras.

    El programa debe pedir al usuario que introduzca el peso y el tipo de servicio.

    Seguidamente, el programa visualizar el coste del servicio. Si se introduce un paquete

    que pese ms de 50 libras para un servicio de aire o tierra, el programa visualizar un

    mensaje del tipo: No se realiza reparto por aire o tierra para paquetes con peso superior

    a las 50 libras. Si se introduce el peso de un paquete que supera las 10 libras de peso

    para un servicio nocturno, el programa visualizar un mensaje del tipo: No se realizan

    entregas nocturnas para paquetes que pesen ms de 10 libras, Ejecute el programa e

    introduzca los valores 0,5 , 6,3 , 20 y 50,4 libras para servicios de tierra y aire, as como

    2, 8 , 1 y 13 libras para el servicio de reparto nocturno.

    17. Sea el vector 1:50x . Escriba un programa en un fichero script que borre delvector x aquellos elementos que son divisibles por 3, 4 5. Al final el programa debe

    mostrar el vector resultante.

    18. Escriba una funcin MATLAB que calcule las coordenadas polares de un puntocorrespondiente a un sistema de coordenadas cartesianas, en un plano de dos

    dimensiones. Utilice la siguiente lnea de definicin de funcin para ello:

    theta radio = CartesianoApolar (x,y) Los argumentos de entrada sern las

    coordenadas cartesianas x e y del punto, y los argumentos de salida sern el ngulo

    y la distancia radial (radio) al punto en cuestin. El ngulo vendr dado en grados, y su

    medida ser relativa al eje x positivo, de tal forma que sea un nmero positivo en los

    cuadrantes , y , y un nmero negativo en el cuadrante V. Utilice posteriormente

    esta funcin para calcular las coordenadas polares de los puntos (15, 3), (-7, 12), (-17, -

    9) y (10, -6,5).

  • 8/22/2019 07 programacion matlab ejercicios

    5/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    5

    19. Un deposito de gasleo tiene la forma de un cilindro vertical rematado por sus dosextremos hemisfricos, tal y como se muestra en la figura adjunta. El radio del cilindro y

    de los hemisferios es 40r , y la longitud de la parte cilndrica es 1,2 metros.

    Escriba una funcin (definida de la forma: V = Vtanque (h) que calcule el

    volumen del depsito en funcin de la altura h. Utilice posteriormente la funcin

    para representar un grfico del volumen en funcin de la altura, para 0 2h metros.

    20. La velocidad en funcin del tiempo, de una partcula que se mueve a lo largo deuna lnea recta, se representa en el grfico adjunto y viene dada por las siguientes

    ecuaciones:

    1,4 0 10

    14 5 ( 10 ) 10 2510

    ( )

    9 25 35

    99 35 35 40

    5

    t t s

    sen t t s

    v x

    t s

    t t s

    Escriba dos funciones MATLAB: una de ellas debe calcular la velocidad de la partcula enun instante t(utilice la siguiente definicin de funcin v = velocidad (t) , y la otra

    funcin deber calcular la aceleracin de la partcula tambin en el instante t (utilice

    para ello la siguiente definicin de funcin: a = aceleracin (t)) . Escriba posteriormenteun programa, en un fichero script, que represente las grficas de la velocidad y la

  • 8/22/2019 07 programacion matlab ejercicios

    6/6

    07. PROGRAMACION CON MATLAB Lic. Amado Malca Villalobos

    6

    aceleracin, en funcin del tiempo, de una partcula en movimiento (las dos grficasdeben aparecer en la misma ventana grfica). Para ello, dentro del fichero script, creeprimero un vector t , para 0 40t segundos, y despus utilice las funcionesvelocidad y aceleracin para crear los vectores v y a , que se utilizarn para generarla representacin grfica.

    21. Una bscula se compone de una bandeja sujeta a una serie de muelles, tal ycomo se muestra en la figura adjunta. Cuando se sita un objeto en la bandeja, sta se

    mueve hacia debajo de forma que el peso del objeto se puede calcular a partir del

    desplazamiento de la bandeja. Inicialmente ,solo los dos muelles exteriores soportan el

    peso. Sin embargo, si el objeto es lo suficientemente pesado, la bandeja har contacto

    con el tercer muelle situado justo entre los otros dos exteriores.

    1 2800 / , 1700 / , 20k N m k N m d mm

    Escriba una funcin que calcule el peso W de un objeto en funcin del desplazamiento x

    de la bandeja en la bscula. Utilice la siguiente definicin para dicha funcin :

    W=bscula (x)

    a) Utilice posteriormente esta funcin en la Ventana de Comandos para calcular elpeso de dos objetos que producen un desplazamiento de la bandeja de 1,5 y 3,1 cm.

    b) Escriba un programa script que represente grficamente el peso en funcin deldesplazamiento x , para 0 4x cm.