Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matlab PDF
Matlab PDF
ALGEBRA II
Profesorado en Informática
Licenciatura en Sistemas de Información
Lic.
Lic. María Inés M. de Barrionuevo
INTRODUCCION
Tiene gran capacidad de expansión ya que permite que el usuario defina sus
propias funciones, es por ello que es considerado como un lenguaje de
programación para cálculos técnicos y científicos donde se encuentran
implicados elevados cálculos matemáticos y la visualización gráfica.
Características básicas:
Suma a + b + 3+6
Resta a – b − 12 – 7.5
División a : b / 77 / 51
Potencia ab ^ 5^ 2
Ejercicio:
Para observar como funcionan estas operaciones con MATLAB,
resuelva:
a) 2^3 – 5 – 6 /3∗2
b) 2^3 – 5 – 6 /(3∗2)
c) (2^3 – 5 – 6) /3∗2
Variables:
Variables:
Al igual que cualquier lenguaje de computadora, MATLAB tiene reglas
acerca de los nombres de las variables:
Las variables pueden contener hasta 19 caracteres y comenzar por una letra
seguida de cualquier número de letras, dígitos o guiones de subrayado
Ejemplo: suma, A, S3, CIRCULO, valor_propio, etc.
Ejemplo: » 2*5+1.5
da como respuesta:
ans =
11.5000
Para recordar información: para poder visualizar cuales variables han sido ya
introducidas se teclea who
Para eliminar una variable de la memoria se utiliza la instrucción clear seguida del
nombre de la variable( ej: clearA ). Si se escribe clear simplemente se borran todas
las variables.
Cuando se sale de MATLAB, se pierden todas las variables. Para evitarlo se puede
utilizar la instrucción save antes de salir. Esto hace que las variables se almacenen
en el archivo de disco matlab.mat.
matlab.mat. Al ingresar nuevamente a MATLAB se pueden
recuperar todas las variables con la instrucción load.
diary
diary nombre de archivo realiza una copia de la sesión de trabajo en un
archivo
de texto llamado nombre de archivo
diary off finaliza la copia (¡¡CUIDADO...!! Siempre que se inicia un diary debe
escribirse diary off al finalizar ya que si se omite, la copia no se
realizará)
A partir de aquí usted deberá realizar copias de todas sus sesiones de trabajo,
para lo cual deberá disponer de un diskette de 3.5”.
Ejercicios:
5 – (1/2)2
b) Rta: 2,7941
0,7 + 1
ARCHIVOS –M
Archivos-
Archivos-M de comandos
Para elaborar un archivo-M se hace click en New del menú File y se selecciona M-
file. Aparecerá una nueva ventana para la edición de texto donde se teclea la lista
de comandos de MATLAB. Para guardarlo como archivo-M en el disco, se hace
clik en Save as del menu File y se escribe el nombre del archivo con la extensión
m.
57.9058
Ejercicio:
Archivos –M de función
Estos archivos permiten que el usuario pueda definir sus propias funciones. Son
similares a los de comandos pues son archivos de texto que tienen una extensión
m.
function V=vol_esfera(r)
% vol_esfera
% vol-esfera(r) calcula el volumen de una esfera de radio r
V = (4/3)∗pi∗r^3;
disp('El volumen de la esfera es:')
Notas:
Notas
∗ Este archivo debe guardarse con el nombre de vol_esfera.m
Ejercicio 1:
Ejercicio 2:
El comando input proporciona una guía para la entrada de información por parte
del usuario pues muestra la cadena literal encerrada entre comillas, detiene el
programa hasta que se ingresen los datos requeridos y lo reanuda cuando se
oprime enter.
Su sinópsis es: variable=input(‘texto’).
variable=input(‘texto’
Ejercicio 3
Construya un archivo de función que calcule el valor de la función
f(x) = 2x3 + 2x2 + 5x + 1
y ejecútelo para distintos valores de x.
Ejercicio 4
Confeccione un archivo de función que calcule las raíces de la ecuación
ax2 + bx + c = 0 cuando los coeficientes a, b y c son ingresados desde el
teclado.
Verifique que funcione.
Introducción de Matrices
a) A=[1,2,3;4,5,6;7,8,9]
b) B=[1 2 3;4 5 6;7 8 9]
c) C=[1 2 3
4 5 6
7 8 9]
d) D=C’
e) E=[3 0 5 6]’
f) F=[1:9]
g) G=[1:9]’
h) H =[0:2:12]
i) I=[-1,3 SQRT(3) 6.4]
¿Para que se utiliza “,,”?
¿Para que se utiliza “;;”?
¿Para que se utiliza “::”?
¿Para que se utilizan los espacios en blanco?
¿Que ocurre cuando al final de una matriz se escribe “ ’ “?¿Qué significa?
2- Existen funciones en MATLAB como por ejemplo: rand, magic, eye, etc. que
proporcionan una forma sencilla para crear matrices con las que se puede
experimentar. Introduzca las siguientes matrices y extraiga conclusiones como
por ejemplo que la instrucción rand(n) y rand(m,n) crean matrices nxn y mxn
respectivamente con entradas aleatoriamente generadas distribuidas entre 0 y
1. Magic(n) crea una matriz cuadrada de orden n mágica (las filas y las
columnas suman la misma cantidad) con entradas enteras.
a) rand(4)
b) rand(2,3)
c) magic(3)
d) eye(6)
e) eye(4,2)
f) ones(6)
g) ones(4,7)
h) zeros(4,5)
i) triu(C)
c) Un vector fila tal que su primer elemento sea –3, su último elemento 2 y los
restantes se obtienen incrementando 0.5 al anterior.
1 -3 -3 2
M= 2 1 N= 1 5 O= 3 -3
3 -4 7 6 1 4
a) –M b) M + N c) M - N
d) O+M e) M ∗ O f) M ∗ N
g) M .∗N h) M../N i) 2 ∗O
j) O^2 k) O..^2 l) 2/M
ll) 2../M m) M/2 n) M../2
i) (A+B)+C = A+(B+C)
ii) A+0=0+A=A donde 0 es la matriz nula del mismo tipo que A
iii) A+B=B+A
iv) A∗B≠B∗A
v) A∗I=I∗A donde I es la matriz identidad del mismo orden que A.
vi) (A+B)’ =A’+B’
vii) (A’)’ = A
viii) (k∗A)’ = k∗A’ donde k es un escalar
ix) (A∗B)’ =B’∗A’
matrices
Submatrices, matrices por bloques
ampliadas
y matrices am pliadas..
pliadas
Operaciones elementales de filas
-1.3 0 5 0 1
A = -7 ½ 4 5 B= -3
6 8 -1 3 -5
Nota: Todos estos comandos cambian la matriz A original. Si se quiere conservar la matriz
original, se puede asignar otro nombre a la matriz que se va modificando con las operaciones
elementales.
Por ejemplo: C=A
C(3,:)=2∗C(3,:) y así sucesivamente.
2 2 3 4 5 -1
A= -6 -1 2 0 7 B= 2
1 2 -1 3 4 5
½x + 3y – 3z = 1
4x – z = -1
5x – 1/3y + 2/5z = -1
7/2x – 3y + 2z = -2
x + 4y – z + 3w = 10
2x + 2y – 14z = 44
x + 8y + 4z – 8w = 3
5x + 17y – 5z + 13 w = 44
2 - Para cada uno de los siguientes sistemas dé la matriz ampliada y use la función
rref para encontrar la forma escalón reducida por filas. Concluya que ninguno
tiene solución.
2x – 3y = -2 x – 2y + z – 4w = 1
2x + y = 1 x + 3y + 7z + 2w = 2
3x + 2y = 1 x – 12y –11z – 16w = 5
9 27 3 3 12 1 0 1 -2 7 -4
9 27 10 1 19 1 4 21 -2 2 5
1 3 5 9 6 3 0 3 -6 7 2
para cada matriz use la función rref. Para obtener el conjunto solución de estos
sistemas necesitará papel y lápiz.
4 - Suponga que se quieren resolver varios sistemas de ecuaciones en los que las
matrices de coeficientes son las mismas pero tienen términos independientes
diferentes. Formando una matriz ampliada más grande se podrán resolver
todos los sistemas al mismo tiempo.
Suponga que A es la matriz de coeficientes, que B, C y D son las matrices
columnas de los términos independientes. Asigne Am=[A B C D] y encuentre
rref(Am) para resolver simultáneamente los siguientes sistemas:
2x + 3y – 4z = 1 2x + 3y – 4z = -1 2x + 3y – 4z = 1
x + 2y – 3z = 0 x + 2y – 3z = -1 x + 2y – 3z = 2
-x + 5y – 11z = -7 -x + 5y – 11z = -6 -x + 5y – 11z = -7
a) la función rref
b) la función rank
c) Indique cual de las dos formas es la más conveniente en este caso y
explique los alcances y limitaciones de ambas funciones.
x + 2y – z + 3w = 0 -4x + 2y – 2w = 0
2x + 4y –2z + 6w = 0 2x – 3z + 2w = 0
3x + 6y –3z + 9w = 0 x + 3y – 4z + 3w = 0
x + 3y + z + 2w = 0 -x + 4z – 4w = 0
1 2 3
6 - Sea A = 2 5 4
1 -1 10
7 - La función inv(A)
inv devuelve la inversa de una matriz cuadrada inversible. Para
cada una de las siguientes matrices aplique la función inv, observe que ocurre
en cada caso y extraiga conclusiones. En los casos que sea posible verifique
que inv(A)∗A = A∗inv(A) = I.
a) Inv(I) = I
b) Si A es inversible, inv(inv(A)) = A
c) Si A y B son inversibles, A∗B es inversible e inv(A∗B) = inv(B)∗inv(A)
d) Si A es inversible, A’ es inversible e inv(A’) = inv(A)’
e) Si A es inversible, D( A-1 ) = 1 / D(A)
a) 1 1 -3 1 -6
2 -1 1 -1 5
A= 1 -2 4 -2 B= -6
3 1 2 -1 8
b)
2 1 -2 10
A1= 3 2 2 B1 = 1
5 4 3 4
c) A2=rand(10), B2=[1:10]’
d) A3=magic(7), B3=eye(7,1)
3 2 1
s= -5 s1 = -1 s2 = 3
-3 1 5
a) 3 1 0 1
v = -2 A= 2 , -1 , 1
1 0 3 0
0 -1 2 0
b) v = 0 -3 -1 A= 1 -1 0 , 2 1 1 , 1 2 1
c) P = 5x3 + 3x2 – 2x
a) u = -12 0 -3 v= 5 -4 15 w = 1 -4 14 V = R1x3
b) u = 1 0 -5 3 v = 0 -1 4 2 w = 1 -1 -1 5 V = R1x4
a) v1= 1 -1 2 v2 = 1 1 -2 v3 = -2 3 1
b) 1 -1 -5
v1 = 3 v2 = 1 v3 = -7
3 3 3
c)
2 5 5
v1 = 0 v2 = 0 v3 = -0.8
0.7 ½ 7
0 3 0.3
5 - Determine si los siguientes conjuntos constituyen una base del espacio vectorial
dado:
a) [ 1 0 1 0 ] , [2 -1 1 0 ] , [0 1 1 1] , [3 0 -1 1] V =R1x4
b) 1 1 -1
0 , -1 , 0 V = R3x1
1 -1 1
a) v1 = [-1 3 2] v2 = [3 -1 0] v3 = [2 -2 -1]
b) v1 = [2 0 1 -1 3] v2 = [ 0 0 1 -1 4]
v3 = [ 3 2 1 0 -1] v4 = [8 4 2 0 -3]
7 - Dada la matriz
-7 0 12 21 3
-9 0 28 39 4
A= -1 5 7 8 2
-5 5 39 44 8
5 0 4 -3 2
u1 = [-1 2 7] u2 = [0 -5 3]
w1 = [0 -7 -2] w2 = [-1 1 9 ] w3 = [-2 23 24]
Trabajo Práctico N° 5
a) A = magic(6)
b) B = 2∗rand(4)
c) C = [zeros(2) ones(2);eye(2) magic(2)]
Pruebe ahora escribiendo las instrucciones: trace(A), trace(B) y trace(C).
¿Qué obtiene?
5 - Para los vectores del ejercicio anterior calcule sum(v1.∗v2) y compare los
resultados.
1 -2 8 7 2 -5
a) A1 = B1 =
5 3 7 -4 1 1
-3 5 -1 9
b) A2 = 0 1 B2 = 6 3
-4 11 0 5
c) A3=magic(4) B3=3∗rand(4)
8 - Para las matrices del ejercicio anterior calcule sum(sum(A..∗B)) y compare los
resultados con los obtenidos anteriormente.
11- Dado v= [1 -1 3 0] y w = [2 -3 0 5]
Calcule:
a) El versor de v
b) Un vector paralelo a v de módulo 5
c) Un vector paralelo a w de módulo 3
d) La distancia de v a w
b) ½ -3 0 1 2 -1
, ,
0 -5 2 -3/4 3 4/5
14. Para obtener bases ortonormales de un espacio vectorial, MATLAB cuenta con
la función orth.
orth(A) da una base ortonormal del subespacio generado por las columnas de
la matriz A.
Realice lo siguiente:
Trabajo Práctico N° 6
Producto Vectorial
Calcule el producto escalar del vector resultante con cada uno de los
vectores
dados ¿Qué resultados obtiene y que significa?
a) Calcule u..(vxw)
b) Haga B= [u; v; w] y calcule det(B)
c) Compare los resultados obtenidos.
El comando plot grafica entonces en este caso los puntos (1,3), (2,0), (3,5) y
(4,4) y dibuja un segmento de recta entre los consecutivos como lo muestra la
figura:
» x=-2*pi:0.1:2*pi;
» y=sin(x);
» plot(x,y)
El vector x es una partición del dominio con incremento de 0.1, mientras que
y es un vector con los valores que toma el seno en los puntos de esa partición.
Este conjunto de instrucciones produce el siguiente gráfico:
produce el gráfico:
Pueden realizarse los gráficos con distintos tipos de líneas o puntos y diferentes
colores, para lo cual hay que agregar a plot un tercer argumento encerrado entre
y amarillo . punto
m violeta o círculo
c celeste x cruz
r rojo + más
g verde línea llena
b azul -. punto y trazo
w blanco -- línea de trazos
k negro : línea de puntos
Pueden ponerse títulos, comentarios en los ejes o en cualquier otra parte con
los siguientes comandos que tienen una cadena como argumento:
Ejercicio:
Realice elgráfico de las siguientes rectas de R2 de modo tal que en cada eje
aparezcan escritos sus nombres ‘X’ e ‘Y’, el título del gráfico sea “Recta”, sobre la
recta se vea escrita su ecuación y la gráfica esté cuadriculada. De la observación
de la figura identifique algunos puntos pertenecientes a cada recta. (Nota: tenga
en cuenta que para graficar una recta son necesarios solo dos puntos).
Existen dos formas en las que se puede realizar una graficación simultanea
de curvas. Esto es importante cuando se quieren comparar los gráficos de dos o
más funciones:
Ejemplo:
» x=[0 3];
» y1=2∗x;
» y2=2∗x-1
»plot(x,y1,x,y2)
Produce el gráfico:
Ejemplo:
» x=[0 3];
» y1= 2∗x;
» plot(x,y1)
» hold on
» y2=-3∗x+4;
» plot(x,y2)
» y3= (-1/2)∗x
» plot(x,y3)
» hold off
Escriba la lista precedente de instrucciones y observe lo que obtiene.
Ejercicios:
2 - Dé las ecuaciones de cuatro rectas paralelas tal que una de ellas contenga al
origen. Grafíquelas en una misma figura de forma que:
a) El título de la figura sea “Rectas paralelas”
b) Los ejes estén identificados con “x” e “y”
c) La gráfica aparezca cuadriculada.
d) En cada recta aparezca su ecuación
e) La escala en ambos ejes sea la misma.
a) L1: y = 2x – 5
L2: y = 1/3 x – 5/3
b) L1: y = -7x
L2: y = x
c) L1 : (-2,1) + t(-1,-2)
x–1= t
L 2:
y = -1/2 t
Introduzca la matriz:
1 0 -3
A = 5 -1 4
3 2 0
Gráfica de funciones
Para dibujar la gráfica de una función se definen en primer lugar los vectores x
e y que dan la partición del rectángulo (es decir se define el dominio) con la
función meshgrid.
meshgrid.
Ejemplo 1:
» [x y]=meshgrid(-2:0.1:2);
» z=exp(-x.^2 – y.^2);
» mesh(x,y,z)
» surf(x,y,z)
» [x y] = meshgrid(-2:0.1:2);
Nota:
Nota Los comandos axis, hold, grid, title, xlabel, ylabel, zlabel, etc. Tienen en este caso la misma
aplicación.
Ejercicios:
8 - Realice el gráfico de los siguientes planos, de tal modo que en cada eje esté
escrito su nombre( X, Y y Z) y el gráfico esté cuadriculado.
a) 2x +3y – z =2
b) x + y - z =0
c) x – z =5
» [y z]=meshgrid(-2:0.2:3);
»x=0∗y+0∗z+3;
»mesh(x,y,z)
11 - En cada uno de los siguientes casos grafique los planos dados en una misma
figura (use hold on y hold off) y observe su posición relativa. Resuelva también
en cada caso, usando MATLAB, el sistema formado por las ecuaciones de
dichos planos. Compare la posición relativa con la compatibilidad o
incompatibilidad del sistema, con el hecho de ser determinado o
indeterminado y con el rango de la matriz de coeficientes. Extraiga
conclusiones.
b) Π1 :x + y – z + 10 = 0 Π2 :2x + 2y –2z = 0
Π3: 14 x + 36 y + 16 z – 3 = 0
Ejemplo:
Se desea graficar la recta que contiene al punto (1,0,3) y es paralela al
vector (-1,1,2).
La ecuación vectorial de esta recta es (x,y,z) = (1,0,3) + t(-1,1,2)
Y las ecuaciones paramétricas:
x=1–t
y=t
z = 3 + 2t
»t = -3:0.1:3;
»x =1-t; y = t; z=3+2∗t;
»plot3(x,y,z)
y = -x + 1
z = -2x + 5
x =-3:0.1:3;
y=-x+1;
z=-2∗x+5;
plot3(x,y,z,’b’)
hold off
2x + 3y + z = 0
3x + 5y –2z +3 = 0
c) x–1=t
y = -t Π: 5x – z – 3 = 0
z – 2 = 5t
Trabajo Práctico N° 7
Transformaciones lineales.
b) f : R3 → R3 tal que
1 0
A = -2 1
6 8
Ejercicio:
Dibuje las siguientes figuras, respetando el orden en el que están dados los
vértices:
a) El triángulo de vértices (-1,3), (0,0), (3,-2)
b) El paralelogramo de vértices (1,-2), (2,1), (6,1), (5,-2)
c) El polígono de vértices (-3,0), (-1,2), (2,2), (4,-2), (0,-5)
d) Modifique el orden dado a los vértices en el ítem c) y observe la figura que
obtiene. Extraiga una conclusión.
Dada una figura en el plano se desea “ver” que efectos produce sobre
sobre
ella determinada transformación lineal:
Ejemplo:
Ejemplo
La transformación lineal f: R2 → R2 tal que f(x,y) = (3x,y) produce una
expansión a lo largo del eje X.
La matriz asociada a esta transformación lineal respecto de la base
canónica de R2 es:
3 0
A =
0 1
2° T=[P Q R P]
x=T(1, : ); y=T(2, : ) ;
3° plot(x,y)
A=[3 0
4° 0 1] ;
Im=A∗T;
hold on
5° x1=Im(1,: ); y1=Im(2,: )
plot(x1,y1,’g’)
1 0
M=
0 2
1 0
Reflexión respecto del eje X
0 -1
-1 0
Reflexión respecto del eje Y
0 1
cos θ -senθ
Rotación con centro en el origen de coordenadas y
ángulo θ
sen θ cosθ
6 - Modifique el archivo anterior para que dibuje la figura de vértices (2,-2), (2,7),
(4, 5), (2,3) en ese orden y luego aplique a esta las siguientes transformaciones
lineales precediendo del mismo modo que en el ejercicio anterior.
a) Expansión por un factor 4 en ambas direcciones.
b) Reflexión respecto del eje Y.
c) Rotación en el sentido positivo con centro en el origen y un ángulo de 60°
(Tener en cuenta que MATLAB trabaja con ángulos expresados en radianes
por lo que 60° = π /3 que en el lenguaje de MATLAB se escribe pi /3).
9 - Dada la figura de vértices (2,0,0), (1,5,3), (0,-3,4) y (-6,5,3) en ese orden. Halle
su imagen respecto de la transformación lineal f y a la figura resultante aplique
la transformación lineal g. Siendo f: R3 → R3 / f(x,y,z) = (2x,2y,2z) y
g: R3 → R3 / g(x,y,z) = (x+y, y, x+y+z)
Gráfico de cuerpos
S
S•
R• R
P• Q• P Q
Figura 1 Figura 2
1 0 0
0 cos θ - sen θ Rotación alrededor del eje X un ángulo θ
0 sen θ cos θ
cos θ 0 -sen θ
0 1 0 Rotación alrededor del eje Y un ángulo θ
sen θ 0 cos θ
cos θ -sen θ 0
sen θ cos θ 0 Rotación alrededor del eje Z un ángulo θ
0 0 1
k 0 0
0 k 0 Expansión por un factor k, si k > 1
0 0 k Contracción por un factor k , si 0 < k < 1
1 0 0
0 1 0 Proyección sobre el plano XY
0 0 0
0 0 0
0 1 0 Proyección sobre el plano YZ
0 0 1
1 0 0
0 -1 0 Reflexión respecto del plano XZ
0 0 1
Trabajo Práctico N° 8
Diagonalización.
Valores y vectores propios. Diag onalización.
Cayley--Hamilton
Polinomio Característico. Teorema de Cayley
eig: eig(A)) produce un vector columna cuyos elementos son los valores
propios (eigenvalores) de una matriz cuadrada A.
a) -3 10 b) 2 -2 3
-3 -8 10 -4 5
5 -4 6
2 - Para cada una de las matrices del ejercicio anterior encuentre su polinomio
característico y verifique que los valores propios obtenidos son efectivamente
las raíces de dicho polinomio.
a) -1 -4 -1 b) 1 0 0
0 3 1 -2 -1 0
0 -2 0 2 0 -1