ALGEBRA LINEAL EN EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA ESPACIOS VECTORIALES (MATLAB NUMÉRICO) COMANDOS DE SOLUCIÓN DE SISTEMAS LINEALES >>solve(‘ecuación’, ‘x’) Resuelve la ecuación en la variable x (esto es para el caso simbolico) >>solve (‘ex1,ex2,...,ecn’, ‘x1,x2,...,xn’) Resuelve n ecuaciones simultáneas ec1,...,ecn en las variables x1,...,xn (sistema de ecuaciones) >>X=inv(A)*b Resuelve A*X =b para una matriz cuadrada A, siendo B y X matrices >>X=linsolve(A,b) Resuelve A*X =b para una matriz cuadrada A, siendo B y X matrices >>X=A\B Resuelve el sistema A*X=B Si A es cuadrada pero singular, "A\B" nos proporcionará, generalmente, un mensaje de error aunque el sistema tenga solución. Cuando A no es cuadrada y el sistema es compatible, "A\B" nos proporcionará, generalmente, "una única solución" >>X=A/B Resuelve el sistema X*A=B >>X=lsqnonneg(A,B) Solución por minimos cuadrados d AX=B >>X=linsolve(A,B) Resuelve AX=B A cuadrada >>X=rref([A,b]) Resuelve un sistema por método Gauss Jordan, (b debe estar como una vector columna) Expresar el vector u 28, 223, 25,126 como combinación lineal de los vectores V 1, 2,1, 4 ; 0, 1,3, 2 ; 1, 7, 0, 3 SINTAXIS MATLAB >> u=[-28;-223;25;126] Se definan, el vector u y los vectores de v como una matroz 3x3 u= -28 -223 25 126 >> V=[1 2 1 4;0 -1 3 2; 1 7 0 -3] V= 1 0 1 2 -1 7 1 3 0 4 2 -3 >> VT=V' VT = Se obtiene la transpuesta de V 1 2 1 4 0 -1 3 2 1 7 0 -3 >> rref([VT u]) ans = Escalonamos la matriz VT u Luego se podrá expresar: 1 0 0 0 0 1 0 0 0 4 0 7 1 -32 0 0 u 4v1 7v 2 32v 3 4 1, 2,1, 4 7 0, 1,3, 2 32 1, 7, 0, 3 28 ALGEBRA LINEAL EN EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA Encontrar una base para el sistema generado por: S 1,3, 4,1 ; 2, 6,8, 2 ; 2,5, 2, 7 : Si el conjunto es generador, cualquier vector del espacio es CL de los vectores, asi: x, y, z, w k1 1,3, 4,1 k2 2, 6,8, 2 k3 2,5, 2, 7 x, y, z, w k1 2k2 2k3 ,3k1 6k2 5k3 , 4k1 8k2 2k3 , k1 2k2 7k3 k1 2k2 2k3 x 3k 6k 5k y 2 3 1 4k1 8k2 2k3 z k1 2k2 7 k3 w Escalonamos por Gauss 1 3 4 1 2 6 8 2 2 x 3 f1 f2 f2 5 y 4 f1 f3 f3 7 z f1 f4 f4 2 w 1 0 0 0 2 0 0 0 2 x f2 f3 f3 1 y3x 1 z4x 0 wx 1 0 0 0 2 0 0 0 2 x 1 y3x 0 zx y 0 wx SINTAXIS MATLAB La solución de este sistema es: w x 0 w x z x y 0 z x y >> H=[1 3 4 1;2 6 8 2;2 5 7 2] Reemplazando en un vector cualquiera del subespacio: x x y x y x y v z w 1 0 x 1 1 0 1 y 1 0 Luego la basa: B 1, 0,1,1 ; 0,1, 0,1 Se define la matriz cuyas filas son los vectores generadores Se escalona la matriz Luego la base del subespacio esta dado por los vectores fila de esta ultima matriz. B={(1,0,1,1),(0,1,1,0)}. H= 1 2 2 3 6 5 4 8 7 1 2 2 >>BASE= rref(H) BASE = 1 0 0 1 0 0 1 1 0 1 0 0 Encontrar una base para el conjunto de matrices tridiagonales y simétricas de orden 4. Verificar si la matriz 1 1 1 1 pertenece a este conjunto. 0 1 0 1 B 1 0 1 0 1 1 1 1 SINTAXIS MATLAB Se genera una matriz cualquiera de orden 4, con las condiciones especificadas: a b 0 0 syms a b >>A=[ a b 0 0 ; b a b 0 ; 0 b a b ; 0 0 b 1 ] A= [ a, b, 0, 0] [ b, a, b, 0] [ 0, b, a, b] [ 0, 0, b, 1] Para determinar la base se lleva a su forma escalonada. >>rref(A) ans = b a b 0 B 0 b a b 0 0 b a OBSERVACIÓN Como se puede ver la forma escalonada está compuesta por vectores todos linealmente independientes, por lo tanto es una base para el conjunto. [ 1, 0, 0, 0] [ 0, 1, 0, 0] [ 0, 0, 1, 0] [ 0, 0, 0, 1] 29 ALGEBRA LINEAL EN EL ENTORNO MATLAB Para ver si la matriz B pertenece a este conjunto. Se genera la matriz Se escalona al máximo. MG. SC. ING. RAFAEL VALENCIA GOYZUETA >>B=[ 1 -1 1 1 ; 0 1 0 1 ; 1 0 1 0 ; -1 1 1 1 ] B= 1 -1 1 1 0 1 0 1 1 0 1 0 -1 1 1 1 >>rref(B) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Como se puede apreciar se genera la misma base. Luego B pertenece al conjunto de matrices tridiagonales y simétricas de orden 4 Realice un programa en MATLAB cuyas entradas sean dos vectores cuales quiera y cuya salida retorne n=1 si los vectores ingresados son ortogonales y n=0 en el caso contrario. CÓDIGO FUENTE EJECUCIÓN DEL SCRIPT EN LA VENTANA DE COMANDOS function [n]=ejemplo_2(v1,v2) Se llama al script >> ejemplo_2 Se ingresan los vectores ingrese el primer vector:[0 1 1 0] v1 1, 3, 5, 1 v1=input('ingrese el primer vector:') v2=input('ingrese el segundo vector:') v1 = 1 2 5 0 ingrese el segundo vector:[0 1 0 1] v 2 0, 7, 2, 4 result=dot(v1,v2); if result==0; disp('los vectores son ortogonales:') disp('n=1') else v2 = 0 -7 2 4 La salida del script los vectores no son ortogonales: n=0 Se llama al script >> ejemplo_2 disp('los vectores no son ortogonales:') disp('n=0') Se ingresan los vectores v1 0, 0, 0, 1 end end v 2 1, 0, 0, 0 Como se conoce: Dados dos subespacios vectoriales, la unión de dos sistemas generadores de ambos subespacios, proporciona un sistema generador del subespacio suma v1 = 0 0 0 1 ingrese el segundo vector:[1 0 0 0] v2 = 1 0 0 0 los vectores son ortogonales: n=1 La salida OBSERVACIÓN ingrese el promer vector:[0 0 0 1] CÓDIGO FUENTE % A1 y A2 son las matrices cuyas filas generan los subespacios dados. %[A1;A2] es la matriz cuyas filas generan el espacio suma V1+V2. A1=input('Matriz cuyas filas engendran V1, A1= '); A2=input('Matriz cuyas filas engendran V2, A2= '); r=rank([A1;A2]);dim=r;disp('La dimensi¶on es'), disp(r) R=rref([A1;A2]);B=R(1:r,:).'; disp('La base del subespacio son las columnas de la matriz B' ) disp(B) BBBBBBBBBBBBBBBBBBB BB 30 ALGEBRA LINEAL EN EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA EJECUCIÓN DEL SCRIPT EN LA VENTANA DE COMANDOS Se llama al script >>suma_subespacios Se ingresan los conjuntos generadores Matriz cuyas filas engendran V1, A1= [1 2 5 3 2;3 1 5 -6 6;1 1 3 2 0] Matriz cuyas filas engendran V2, A2= [2 1 4 -3 4;3 1 3 -2 2;9 2 3 -1 -2] La dimensión es 4 La base del subespacio son las columnas de la matriz B 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -1 3 0 -1 La salida PRÁCTICO OPERACIONES CON ESPACIOS VECTORIALES PRIMERA PARTE. Teóricas 1 Cual la diferencia entre perpendicularidad y ortogonalidad. 2 Cuando un conjunto se dice generador? 3 La intersección de dos subespacios vectoriales del mismo espacio vectorial puede ser vacía 3 Geométricamente, los subespacios de IR generados por dos vectores son planos que pasan por el origen T Sea A una matriz cuadrada n n . Sea E = A+ A . Entonces el espacio fila de E es igual a su espacio columna. Sea A una matriz cuadrada. Si el espacio columna de A es igual al espacio renglón de A, entonces A es una matriz simétrica. Sea A una matriz m n y B una matriz n 1 , entonces el producto A.B pertenece al espacio columna de A 4 5 6 7 8 Sea A una matriz antisimetrica, entonces la dimensión del espacio fila de A es diferente a la dimensión del espacio columna de A Explique que hacen las siguientes funciones y comandos de MATLAB (v representa u vector): 1 >>sum(A) 4 >> sum(sum(A)) 7 >> sqrt(sum(v.^2)) 10 >>rref(A) 2 >>orth(A) 5 >>sum(sum(A.*B)) 8 >>(v’*v)^(1/2) 11 >>rank(A) 3 >>prod(A) 6 >>cross(v1,v2) 9 >> sum(diag(A)). 12 Representar el vector u como combinación lineal de los vectores de S: 1 2 u 4, 0, 7,1 S 1, 6, 2, 0 ; 1, 0,1, 0 ; 1, 1,1, 2 ; 0, 0,1, 6 1 0 3 1 0 2 1 1 1 2 1 4 u 1 0 2 S 2 4 5 ; 0 2 0 ; 2 2 3 7 2 3 6 8 7 3 1 1 3 4 4 Encontrar una base para el sistema generado por: S 1,3,2,1;1,1,1,1; 0,2,1,0 ; 2,4,3,1;1,1,1,2 B 1, 0, 1 , 0 ; 0,1, 1 , 0 ; 0, 0, 0,1 2 2 S 2,3,4, 1,1; 3,4,7, 2, 1;1,3, 1,1,8 ; 0,5,5, 1,4 B 1,0,0,0,0 ; 0,1,0,1/5,11/5 ; 0,0,1, 2/5, 7/7 Determinar si los conjuntos son linealmente dependientes o linealmente independientes 31 ALGEBRA LINEAL EN EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA 1 S 1,3, 6,5,3, 4 ; 1, 0, 0, 2,3, 1 ; 1,3, 2,3, 2, 0 ; 1,1, 1, 2,3,1 2 S 2,1,3, 2, 1 ; 4, 2,1, 2,3 ; 8,3, 4,5 ; 0, 0,5, 6, 5 ; 6,3, 1, 6, 7 Para cada una de las siguientes matrices, encontrar: Una base para el espacio nulo de la matriz, Una base para el espacio fila de la matriz Una base para el espacio columna de la matriz 1 2 A 1 3 4 1 3 2 2 1 3 0 3 6 0 3 2 A 4 1 2 A 2 3 2 4 3 2 3 6 0 6 5 3 2 9 2 4 5 Dados dos subespacios generados por V1 y V2 . Escriba un programa en dimensión y una base para el espacio suma V1 +V2 . 2 4 2 6 8 5 5 0 5 10 11 3 15 2 4 5 19 2 22 9 9 7 2 6 3 1 6 0 8 4 12 4 6 6 5 18 4 33 11 9 2 8 9 18 MATLAB que devuelva la V1 1, 2,5,3, 2 ; 3,1,5, 6, 6 ; 1,1,3, 2, 0 V2 2,1, 4, 3, 4 ; 3,1,3, 2, 2 ; 9, 2,3, 1, 2 Escriba un script, que calcule la dimensión del subespacio engendrados por los siguientes vectores. Esp_prog_4 dimen_espacio.m Respuesta S 5, 4,8 ; 10,8,16 ; 1, 0, 0 ; 1,1,1 1 dim: 2 S 1,1,1,1 ; 1 1,1, 1 ; 1, 2,3, 4 ; 1, 0, 2, 0 2 dim: 4 S 1,1, 0, 1 ; 1, 2,3, 0 ; 2,3,3, 1 3 dim: 2 S 1, 2, 2, 2 ; 2,3, 2, 3 ; 1,3, 4, 3 4 dim: 2 S 4, 5, 7 ; 2, 3, 4 ; 1,1, 2 ; 2, 1,1 5 Escriba un script, que calcule la base y la dimensión del subespacio engendrados por los siguientes vectores. Ep_4 base.m Respuestas 1 S 1, 2, 0, 0 ; 1, 2,3, 4 ; 3, 6, 0, 0 2 S 1,3,2,1;1,1,1,1; 0,2,1,0 ; 2,4,3,1;1,1,1,2 dim:3 3 S 1,1, 0, 0 ; 0, 0,1,1 ; 2, 0, 2, 2 ; 0, 3, 0,3 dim:4 dim:2 S 2,3,4, 1,1; 3,4,7, 2, 1;1,3, 1,1,8 ; 0,5,5, 1,4 3 B 1, 0, 1 , 0 ; 0,1, 1 , 0 ; 0, 0, 0,1 2 2 B 1, 2, 0, 0 ; 0, 0,1, 4 B 1,1,0,0 ; 0,1,1,1 ; 0,0,1,1 ; 0,0,0,1 B 1,0,0,0,0 ; 0,1,0,1/5,11/5 ; 0,0,1, 2/5, 7/7 Escribir un script, que obtenga la dimensión y la base de los siguientes subespacios V, W, V+W, V W V x, y, z , t , w 5 / x y 0 z t 0 W x, y, z , t , w 5 / x t 0 1 4 2 3 dim:3 V 1,1, 0, 0 ; 0, 0,1, 0 ; 0, 0, 0,1 W 1,1, 2,1 ; 2, 0, 1,1 V x, y, z , t 4 / x y z t 0 2 x y 9 z 0 3 x z t 0 W x, y, z , t 4 / 3 x y 5 z t 0 x 3 z 3t 0 Escribir un script que tenga como entrada un conjunto de vectores que formen una base cualquiera y entregue como resultado una base ortonormal. 1 S 1,1,1,1 ; 1,1, 1, 1 ; 1, 1,1, 1 ; 1, 1, 1,1 2 S 1,1,1,1 ; 1, 1, 1, 1 ; 1,1,1, 1 32 ALGEBRA LINEAL EN EL ENTORNO MATLAB MG. SC. ING. RAFAEL VALENCIA GOYZUETA 3 S 1, 0,1 ; 1, 1, 0 ; 0, 0, 1 4 S 1,3,1, 3 ; 1, 2,1, 2 ; 1, 1,1, 1 33