UNIVERSIDAD SAN PEDRO ESCUELA PROFESIONAL DE INGENIERÍA MECANICA ELECTRICA PROBLEMAS PROPUESTOS DE MATLAB
MATRICES
⎡6 ⎢8 001.. Dadas las matrices C = ⎢ 001 ⎢1 ⎢ ⎣5
9 7 3 2
5 2 4 8
1⎤ ⎡4 ⎢3 3⎥⎥ y D=⎢ ⎢2 4⎥ ⎥ ⎢ 2⎦ ⎣5
8⎤ 7⎥⎥ , realizar en MATLAB las siguientes 3⎥ ⎥ 1⎦
operaciones: a. Crear la matriz E1 E1 con las dos columnas centrales centrales de C usando el operador operador dos puntos. puntos. b. Crear la matriz E2 con con las filas 1 y 2, y las columnas columnas 2 y 3 de C usando el operadordos operadordos puntos. c. Crear la matriz E3 E3 colocando E1 y D lado por lado. d. Encuentre el producto de C2,4 y D1,2 002. Dadas las matrices matrices F = [3 21 6 17] , G = [4 27 9 3] , y H = [1 2 9 15] , a. Combinar F, G y H en la matriz K1 tal que F está en la primera fila de K1, G en la segunda fila de K1, y H en la tercera fila de K1. b. Combinar F, G y H en la m matriz atriz K2 tal que F esté en la primera primera columna de K2, G en la segunda columna de K2 y H en la tercera columna de K2.
3⎤ ⎡7 2 ⎤ ⎡2 y B = ⎥ ⎢− 4 − 5⎥ , calcular lo siguiente: 2 1 ⎣ ⎦ ⎣ ⎦
003. Dada las matrices A = ⎢ a. A+B b. A-B c. 2*B d. A/4 e. A.*B f. B.*A g. A*B h. B*A i. A.^2 j. A^2 k. A.^B l. A./B
Úsese papel y lápiz. Verifíquese los resultados resultados con MATLAB.
⎡ 12.11 − 7.9 9.23 ⎤ ⎥ , use MATLAB para realizar lo siguiente: 004. Dada la matriz A = ⎢ 5.06 6 . 35 21 . 7 ⎢ ⎥ ⎢⎣− 3.34 2.67 14.38⎥⎦ a. Encuentre el logaritmo logaritmo natural del valor absoluto de cada elemento elemento de A. b. Encuentre el logaritmo logaritmo de base 10 del valor absoluto de cada cada elemento de A. c. Encuentre la raíz cuadrada cuadrada de cada elemento de A. d. Calcule el coseno hiperbólico de cada elemento de A. A. e. Redondee cada elemento de A al entero más cercano. cercano. f. Redondee cada elemento de A al entero entero más alto y próximo. próximo. g. Truncar cada elemento elemento de A al entero más bajo y cercano cercano a cero. h. Encuentre la suma de los elementos en cada columna columna de A.
i. Encuentre el producto de los elementos en cada fila de A. j. Encuentre el producto de los elementos en cada columna de A. k. Encuentre el valor máximo en cada fila de A. l. Encuentre el valor máximo en cada columna de A. m. Ordene los elementos de cada columna de A en orden ascendente. n. Ordene los elementos de cada fila de A en orden ascendente. o. Ordene los elementos de cada columna de A en orden descendente. p. Ordene los elementos de cada fila de A en orden descendente. q. Encuentre la media de los valores de cada columna de A. r. Encuentre la dimensión de A. s. Encuentre el número de elementos de A. t. Ordene de forma ascendente todos los elementos de A. 005. Dados los vectores x = [3 2 6 8] y y = [2 − 3 2 0] , a. Obtenga la suma de los elementos de x y y b. Obtenga un vector z cuyos componentes sean los elementos del vector x elevados a la potencia especificada por cada elemento correspondiente en el vector y. c. Dividir cada elemento de y para cada elemento correspondiente de x. d. Obtenga un vector z cuyos componentes sean los elementos del vector x multiplicados por cada elemento correspondiente del vector y. e. Ejecutar la operación x T y − z 006. Obtener un vector cuyos componentes: a. Se encuentren entre 5 y 25, y separados por 5 unidades. b. Sean los números entre 10 y 30 separados por una unidad. c. 6 números entre 0 y 20 igualmente espaciados 007. Construir una matriz A de 2x3 cuyas filas son los 6 primeros impares consecutivos. a. Anular el elemento (2,3) b. Obtener la matriz B = A’ c. Construir una matriz C, formada por la matriz B y la matriz identidad de orden 3 adosada a su derecha d. Construir una matriz D extrayendo las columnas impares de la matriz C e. Construir una matriz E formada por la intersección de las dos primeras filas de C y sus columnas tercera y quinta f. Construir una matriz F formada por la intersección de las dos primeras filas y las tres últimas columnas de la matriz C g. Construir una matriz diagonal G tal que los elementos de su diagonal principal son los mismos que los de la diagonal principal de D h. Calcular el orden de la matriz C 008. Dada una matriz M cuadrada aleatoria de orden 3: a. Obtener su inversa, su transpuesta y su diagonal b. Transformarla en una matriz triangular inferior y en otra superior. c. Obtener la suma de los elementos de la primera fila y la suma de los elementos de la diagonal. d. Extraer la submatriz cuya diagonal son los elementos a y a y extraer también la submatriz cuyos 11 22 elementos de la diagonal son a y a . 11
33
009. Dados x = [3 1 5 7 9 2 6] , explicar el significado de los siguientes comandos: a. x(3) b. x(1:3) c. x(1:end) d. x(1:end-1) e. x(6:-2:1) f. x([1 6 2 1 1])
010. Dados los arreglos
⎡3 1 6⎤ x = [1 4 8] , y = [2 1 5] , y A = ⎢ ⎥ , determine cuál de los 5 2 7 ⎣ ⎦
siguientes planteamientos no se ejecutará correctamente: a. b. c. d.
A − [ x ' y' ] [ x ; y' ] [ x ; y] A-3
011. Ingresar las matrices
⎡ 1 0⎤ ⎡ 1 2 3⎤ ⎡ − 1 1⎤ B C , , = = ⎥ ⎢ − 1 0 4⎥ ⎢ 5 5⎥ y 1 2 − ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
A=⎢
⎡ − 1 1 3⎤ ⎥ , y evaluar cada una de las siguientes expresiones. Explicar cualquier mensaje de 2 2 2 ⎣ ⎦
D=⎢ error: a. b. c. d. e. f. g. h. i.
2*A+3*C A-4*D B^2 B.^2 A*B B*A C*D C.*D A*B+D
013. Considere los escalares x 1 = −2 , x 2 = 3 , x 3 = 2 , y los vectores T
a.
T
T
⎡1 ⎤ ⎡0⎤ ⎡− 1⎤ ⎢ ⎥ ⎢ ⎥ v 1 = ⎢3⎥ , v 2 = ⎢− 4⎥ , v 3 = ⎢⎢ 1 ⎥⎥ ⎢⎣2⎥⎦ ⎢⎣ 5 ⎥⎦ ⎢⎣ 2 ⎥⎦ Use MATLAB para calcular la combinación lineal x 1 v 1 + x 2 v 2 + x 3 v 3
⎡v1 ⎤ b. Forme el vector fila x = [ x 1 x 2 x 3 ] y la matriz v = ⎢ v 2 ⎥ y calcular el producto vector⎢ ⎥ ⎢⎣ v 3 ⎥⎦ matriz xV .
⎡1 ⎢2 014. Crear las matrices X = ⎢ ⎢5 ⎢ ⎣0
2 2 6 2
3 0 3 0
3⎤ ⎡1 ⎢− 1 0⎥⎥ , Y=⎢ ⎥ ⎢5 1 ⎥ ⎢ 5⎦ ⎣0
2 2 6 2
3 0 3 0
arreglos para responder cada uno de los literales: a. Crear una matriz A cuyos elementos i,j son a ij = 2x ij − 3y ij b. Crear una matriz A cuyos elementos i,j son a ij = x ij
2
c. Crear una matriz A cuyos elementos i,j son a ij = y ij − 3
3⎤ 0⎥⎥ . Usar operaciones entre 1⎥ ⎥ 5⎦
2
d. Crear una matriz A cuyos elementos i,j son a ij = x ij − y ij e. Crear una matriz A cuyos elementos i,j son a ij = e
2
x ij2 + y ij2
015. Sea la matriz cuadrada
⎡1 1 0⎤ A = ⎢⎢0 2 3⎥⎥ ⎢⎣3 3 1⎥⎦ a. Construir una matriz añadiendo la matriz identidad de rango 3 a la derecha de la matriz A. b. Sumar a la tercera fila, la primera fila multiplicada por 3. c. Cambiar la primera columna de A por la tercera. d. Construir una nueva matriz cuyas columnas sean las columnas primera y tercera de A. e. Construir una nueva matriz cuyas filas sean las columnas primera y tercera de A. 016. Sea la matriz cuadrada
⎡1 4 0⎤ A = ⎢⎢0 2 3⎥⎥ ⎢⎣3 3 7 ⎥⎦ a. b. c. d. e.
Hallar el valor mínimo dentro de cada fila de A. Ordenar los elementos de A en orden descendente dentro de cada columna. Ordenar los elementos de A en orden ascendente dentro de cada fila. Formar una lista con los elementos de A ordenada de forma ascendente. Hallar el máximo en valor absoluto de los elementos de la matriz A.
017. En una sola orden de MATLAB crear una matriz 3 x 5 cuyo único elemento sea el 7. 018. Con una sola orden de MATLAB crear una matriz aleatoria 4 x 4 de números reales entre -5 y 5. 019. Considerar la siguiente orden de MATLAB: A = magic(5). En una sola orden: a. Definir una matriz B formada por las filas pares de la matriz A. b. Definir una matriz C formada por las columnas impares de la matriz A. c. Definir una vector d formada por la tercera columna de la matriz A. d. Eliminar la tercera fila de la matriz A. 020. Sea x = (0:pi/2:2*pi). Con una sola orden de MATLAB crear una matriz cuya primera fila es x, su segunda fila es el seno de cada elemento de x y cuya tercera fila el coseno de cada elemento de x. 021. Definir un vector a formado por los cuatro primeros números impares y otro b formado por los cuatro primeros números pares de varias formas distintas. Emplearlos para construir la matriz
⎡2 4 6 8 ⎤ ⎢ 6 12 18 24⎥ ⎥ A=⎢ ⎢10 20 30 40⎥ ⎢ ⎥ ⎣14 28 42 56⎦ 022. Construya una matriz n x n, C = (cij) a. Con cij = i·j; b. Con cij = cos(i·j); 023. Construir de distintas formas la matriz
⎡1 ⎢2 A=⎢ ⎢3 ⎢ ⎣4
1 2 3 4
1 2 3 4
1⎤ 2⎥⎥ 3⎥ ⎥ 4⎦
GRÁFICAS Gráficos 2D. 001. Calcular y graficar las siguientes funciones. (Usar el comando plot)
⎧− x si x < 0 ⎪ si 0 < x < 2 , en el intervalo -4≤x≤4 e. f ( x ) = ⎨1 ⎪x 2 si x > 2 ⎩ ⎧ 1− x ⎪⎪ f. f ( x ) = ⎨1 − x 2 ⎪ ⎪⎩ x - 1
si x < -1 si - 1 < x < 1 , en el intervalo -2≤x≤2 si x > 1
002. Dibujar las curvas paramétricas siguientes, usando los comandos plot y comet; dibujar además los vectores velocidad utilizando el comando quiver.
r ( t ) = (cos(t ), sin (t )) , t∈[0,2π] ⎛ 3 ⎞ b. r ( t ) = ⎜ cos(t (cos(t ) + 1)),2 sin (2t )⎟ , t∈[-π,π] ⎝ 2 ⎠ ⎛ 2 ⎛ 7 t ⎞ 2 ⎛ 7 ⎞ ⎞ c. r ( t ) = ⎜⎜ t cos⎜ ⎟, t sin ⎜ ⎟ ⎟⎟ , t∈[-π,π] ⎝ 2 ⎠ 3 ⎝ t ⎠ ⎠ ⎝ 3 a.
003. Dibujar las gráficas de las siguientes funciones en coordenadas polares (Usar el comando polar(theta,rho) ): a. r = 7 − 7 sin (θ ) ; θ∈[-π,π] b. r = sin (6θ) ; θ∈[-π,π] c. r = 5 cos(2θ ) ; θ∈[-π,π] d. r = sin (6θ) ; θ∈[-π,π] 004. Dados los problemas del ejercicio 4, utilizar el comando pol2cart(theta,rho) para cambiar las coordenadas polares a coordenadas cartesianas. Usar después el comando plot para obtener las gráficas en las nuevas coordenadas.
Gráficos 3D 001. Utilizando los comandos plot3 y comet3, dibujar las curvas que son imagen de las trayectorias dadas. Represéntese algunos vectores velocidad utilizando el comandoquiver3. a. b. c. d. e. f.
c(t ) = sin(3t )i + cos(3t ) j + 2t 3 / 2k , donde 0 ≤ t ≤ 4π c(t ) = 4e t ,6t 4 , cos( t ) , donde 0 ≤ t ≤ 2π c(t ) = (cos 2 ( t ),3t − t 2 , t ), donde 0 ≤ t ≤ 2π c(t ) = (sen (e t ), t,4 − t 3 ), donde 0 ≤ t ≤ 2 c(t ) = 4e t ,6t 4 , cos( t ) , donde 0 ≤ t ≤ 2π ⎧v = 1m/s ⎛ ⎪ ⎛ vt ⎞ ⎛ vt ⎞ ⎞ c(t ) = ⎜⎜ vt − r sin⎜ ⎟, R − r cos⎜ ⎟ ⎟⎟, donde ⎨R = 1m ⎝ R ⎠ ⎝ R ⎠ ⎠ ⎝ ⎪r = {0,0.5,1,2} ⎩
002. Graficar las superficies y las curvas de nivel para cada una de las siguientes funciones (Use los comandos mesh y contour), a. z = sin (x ) sin (y ) para - 3π ≤ x ≤ 3π y - 3π ≤ y ≤ 3π b. z = (x 2 + y 2 )cos(x 2 + y 2 ) para - 1 ≤ x ≤ 1 y - 1 ≤ y ≤ 1
xy ⎧ ⎪ 2 1/ 2 c. f ( x, y) = ⎨ (x + y 2 ) ⎪0 ⎩
(x, y) ≠ (0,0)
para -1≤x≤1 y -1≤y≤1
(x, y) = (0,0)
x 2 + y 2 , - 2 ≤ x ≤ 2, - 2 ≤ y ≤ 2 e. z = − xy , - 2 ≤ x ≤ 2, - 2 ≤ y ≤ 2 f. z = x 2 + y 2 + 1 , - 2 ≤ x ≤ 2, - 2 ≤ y ≤ 2 x g. z = , - 2 ≤ x ≤ 2, - 2 ≤ y ≤ 2 y d. z =
003. Use el comando contour para realizar lo siguiente: a. Graficar las curvas de nivel de la función f ( x, y) = 3y + y3 − x 3 en la región donde x y y están entre -1 y 1. b. Graficar la curva: 3y + y3 − x 3 = 5 2
c. Graficar la curva: x 2 − y 2 = (x 2 + y 2 ) (lemniscata) d. Graficar la curva de nivel de la función f ( x, y) = y ln(x ) + x ln (y ) que contenga el punto (1,1). 004. Graficar las superficies de nivel de las siguientes ecuaciones, a. b. c. d.
x y2 z 2 = + 4 4 9 y2 z2 x2 + = 1+ 9 4 16 2 2 4 x − 3 y + 2z 2 = 0 x 2 y2 z2 + + =1 9 2 9
005. Utilizando el comando sphere , dibujar una esfera de radio 2, y de centro (1,-3,5) 006. Dibujar las superficies generadas por cylinder( R(t) , 30 ) a. R ( t ) = t , t∈[-1,1] b. R ( t ) = t 2 , t∈[-1,1] c. R ( t ) = 2 + sin (t ) , t∈[-2π , 2π] d. R ( t ) = e t , t∈[-3,3] 007. Utilizando los comandos sphere y cylinder dibujar la intersección entre una esfera de radio 2 con centro en el origen; y tres cilindros de radio 1, con ejes de simetría a lo largo de los ejes x , y , z, y de longitud 2.
008. Dada la función V(x , y ) =
x+y , x 2 + y2
a. Utilizando los comandos grad y quiver, esbozar el campo gradiente − gradV para el intervalo -1≤x≤1 , -1≤y≤1. b. Utilizando el comando contour, esbozar la superficie equipotencial V=1 y V=2. c. Trazar la superficie V=V(x,y)
PROGRAMACIÓN 001. Escribir un archivo m que permita determinar si un número entero dado es par o impar. (Utilizar el operador mod) 002. Utilizando el operador relacional > (mayor que), escribir un archivo.m que permita definir si un número a es mayor que un número b. El programa debe admitir ingresar los números a y b, e imprimir el resultado a es mayor que b , o a es menor que b , o a es igual a b . 003. Escribir un archivo.m que de como resultado el menor de tres números a, b, c. a. Utilice la sentencia de control if…elseif…end b. Utilice la sentencia switch…case…otherwise…end 004. Crear un archivo.m que calcule las raíces de la ecuación: a·x2 + b·x + c = 0. Teniendo en cuenta los siguientes casos: 1. Si a=0 y b=0, imprimiremos un mensaje diciendo la ecuación es degenerada. 2. Si a=0 y b≠0, existe una raíz única con valor –c / b. 3. En los demás casos utilizaremos la fórmula siguiente:
xi =
− b ± b 2 − 4·a·c
2a
La expresión d=b2-4ac se denomina discriminante. -
Si d≥0 entonces hay dos raíces reales Si d<0 entonces hay dos raíces complejas de la forma x + yj, x - yj
Indicar con literales adecuados los datos a introducir, así como los resultados obtenidos. a. Utilizando la sentencia de control if…then…elseif…end b. Utilizando la sentencia switch…case…otherwise…end 005. Escribir un programa que permita imprimir sobre la ventana de comandos los números impares del 1 al 20. a. Utilizar la sentencia for…end b. Utilizar la sentencia while…end 006. Escribir un archivo m que de como resultado la suma de los 100 primeros números naturales. a. Utilizar la sentencia for…end b. Utilizar la sentencia while … end 007. Crear un archivo m que de como resultado la suma de los números pares comprendidos entre dos números enteros a y b ingresados por el usuario. 008. Una secuencia de Fibonacci es generada por el siguiente esquema recursivo:
a n + 2 = a n +1 + a n , n ≥ 1 Para empezar la secuencia, se deben asignar valores de partida a1 y a2. Escribir un archivo de función para calcular la secuencia, asignando como parámetros de entrada a1 y a2. No obstante, la primera vez que | an | > 1000, el cómputo de valores deberá finalizar. a. Utilizar la sentencia de control for…end b. Utilizar la sentencia de controlwhile…end 009. Implementar un programa que permita evaluar el factorial de un número entero positivo. Por ejemplo Factorial(5) = 5*4*3*2*1 = 120 Factorial(3) = 3*2*1 = 6 010. Implementar un programa que permita determinar si un número entero positivo es primo. 011. Implementar un programa que de como resultado un vector formado por los números primos menores que un número dado n (positivo y entero).
∑
012. Vamos a suponer que nuestro problema es sumar los términos de una serie infinita, a n , en el computador. No obstante, es posible sumar únicamente un número finito de términos para aproximar la suma exacta de la serie. Especificamos el criterio a n < 10 −6 como test de convergencia. Escriba archivos de función para calcular las siguientes series: ∞ 1 1 1 1 (− 1)n +1 a. ln (2 ) = 1 − + − + − ... = ∑ 2 3 4 5 n n =1 ∞ (− 1)n +1 1 1 1 π = 1 − + − + ... = ∑ b. 4 3 5 7 n =1 2n − 1 ∞ ∞ 1 1 1 1 c. e = ∑ a n = ∑ = + + + ... 0! 1! 2! n =0 n =0 n!
013. Escribir un programa que lea una cadena de n caracteres e imprima el resultado que se obtiene cada vez que se realice una rotación de un carácter a la derecha sobre dicha cadena. El proceso finalizará cuando se haya obtenido nuevamente la cadena de caracteres original. Por ejemplo: HOLA AHOL LAHO OLAH HOLA 014. Escribir un programa que permita ingresar una palabra, y posteriormente imprimir la palabra con las letras en orden inverso. Por ejemplo: Se ingresa: INGENIERIA Se imprime: AIREINEGNI 015. Escribir un programa que dibuje un triángulo de n filas, empleando el caracter asterisco. Crear el programa utilizando: a. Sentencias for…end b. Sentencias while…end Por ejemplo, para n=4 ******* ***** *** * 016. Utilizando la sentencia for…end, escribir un programa que imprima un tablero de ajedrez en el que las casillas blancas se simbolizarán con una B y las negras con una N. Así mismo el programa deberá marcar con * las casillas a las que se puede mover un alfil desde una posición dada. La solución será similar a la siguiente: