2011 MATLAB SISTEMAS LINEALES Escuela de Ingeniería Sede Valparaíso Ing. Paul Gálvez F. Funciones Simbolicas, Vectores y Matrices
2011
MATLAB
SISTEMAS LINEALES
Escuela de IngenieríaSede Valparaíso
Ing. Paul Gálvez F.
Funciones Simbolicas, Vectores y Matrices
VARIABLES SIMBÓLICASLas variables simbólicas se utilizan para realizar cálculos donde se requiere conocer la forma general de la solución de un determinado problema, o para trabajo con datos desconocidos.
Para definir variables simbólicas puede usarse el comando sym, para una variable o syms para definir simultáneamente varias variables simbólicas.
Ejemplo 1
1.Hallar el valor de x que cumpla con la ecuación: ax2+bx+c = 0. >>
>>syms x a b c;
>>x =solve(’a*x^2+b*x+c=0’);
>>x1=x(1)
>>x2=x(2)
x1 =
1/2/a*(-b+(b^2-4*a*c)^(1/2))
x2 =
1/2/a*(-b-(b^2-4*a*c)^(1/2))
1P.G.F. 2011
Ejemplo 2. Derivar la función: f(x) = 5/(y+cos(x). a) respecto a x b) respecto a y.
sym x y;
f = 5/(y+cos(x));
fx = diff(f,x)
fy = diff(f,y)
fx = 5/(y+cos(x))^2*sin(x)
fy = -5/(y+cos(x))^2
Ejemplo 3. integrar la función: f(x) = sqrt(x^2+16)
sym x;
f = x^2+16;
f = int(f)f = 1/3*x^3+16*x
2P.G.F. 2011
MATRICESCREACIÓN.La definición de una matriz se hace por filas.
Una fila se separa de la siguiente por medio de punto y coma o por medio de cambio de línea.
Los elementos de una misma fila se separan por medio de espacios en blanco o por medio de comas.
Ejemplo
>>M = [2 3 4; 7 8 9;11 12 13; -1 0 1]
>>M = [2,3,4; 7,8,9 ; 11,12,13 ; -1,0,1]
>>M = [2 3 4
7 8 9
11 12 13
-1 0 1]
M =
2 3 4
7 8 9
11 12 13
-1 0 1
3P.G.F. 2011
TIPOS ESPECIALES DE MATRICES EjemploMatriz de unos de tamaño mxn
ones(m,n)>> ones(2,3) = 1 1 1
1 1 1
Matriz de ceros de tamaño mxn
zeros(m,n)
>> zeros(3,2) = 0 0
0 0
0 0
Matriz aleatoria de tamaño mxn
rand(m,n)
>> rand(3,4) = 0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919
Matriz identidad de tamaño mxmeye(m)
>> eye(3) = 1 0 00 1 00 0 1
Matriz vacía de tamaño 0x0[ ]
>> M = [ ]
4P.G.F. 2011
VECTORESCREACIÓN.Los vectores se deben asimilar a matrices de una sola fila (vectores fila) o a matrices de una sola columna (vectores columna).
Ejemplo
VECTOR RESULTADOVector fila>>F = [3 5 1 7]>>F = [3,5,1,7]
F =3 5 1 7
Vector Columna>>C = [3; 5; 1; 7]>>C = [3
517]
C =3517
5P.G.F. 2011
TIPOS ESPECIALES DE VECTORES EjemploVector con elementos igualmente espaciados
X = XI : ∆X : XFXI = Limite interiorXF = Limite superior∆X = incremento (espacio entre elementos)
>> X = 1:0.5:3
X =
1.0000 1.5000 2.0000 2.5000 3.0000
Vector con N elementos igualmente espaciadosX =linspace( XI ,XF,N)
XI = Limite interiorXF = Limite superiorN = número de elementos de X
>> X = linspace(0,1,5)
X =
0 0.2500 0.5000 0.7500 1.0000
vector fila de ceros de tamaño n
zeros(1,n)
>> VF = zeros(1,4)
VF =
0 0 0 0
vector columna de ceros de tamaño n
zeros(n,1)
>> VC = zeros(4,1)VC =
0000
6P.G.F. 2011
NOTACIÓN DE ELEMENTOS
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
mnmm
n
n
aaa
aaaaaa
A
.........
...
...
.
21
22221
11211
Denota el elemento de la matriz A ubicado en la fila i y en la columna j .
A(i , j)
A(i , :) Denota todos los elementos de la fila i de la matriz A .
A(: , j) Denota todos los elementos de la columna j de la matriz A .
Denota la submatriz de A cuyos elementos están entre las filas r y s y entre las columnas p y q .
A(r : s, p:q)
7P.G.F. 2011
EJEMPLO 4A = 1 2 3 4
5 6 7 89 10 11 12
B = [2 ,-1, 5 ,1, 0, 3, -9]
>> A(2,3) = 7 >> B(4) = 1
>> A(3,2) = 10 >> B(3:6) = 5 1 0 3
>> A(2,:) = 5 6 7 8 >> B(5) = [ ]B = 2 -1 5 1 3 -9
>> A(:,2) = 26
10
>>B(4) = 0B = 2 -1 5 0 3 -9
>> A(1:3,3:4) = 3 47 8
11 12
>>B(0)Error: "End of Input" expected,
8P.G.F. 2011
OPERACIONES FUNDAMENTALES
OPERACIÓN DESCRIPCIÓNA + B Suma (A y B matrices del mismo tamaño)
A – B Resta (A y B matrices del mismo tamaño)
A * B Multiplicación (nº columnas de A = nº columnas de B)
k * A Multiplicación por un escalar (k = escalar)
A / B División
A . / B División elemento a elemento (A y B matrices del mismo tamaño)
A’ Traspuesta
cross(V1,V2) producto cruz entre vectores (V1XV2)
A ^ n Potenciación (n = escalar y A matriz cuadrada )
A .^ n Potenciación elemento a elemento (n = escalar )
A .* B Multiplicación elemento a elemento (A y B matrices del mismo tamaño)
9P.G.F. 2011
FUNCIONES CON MATRICES
La mayoría de las funciones de matLab utilizadas para números reales, se pueden aplicar a matrices.
Ejemplo 5
>>M = sin([0.2 ,1.4 ,0.5])
>>M = [sin(0.2) , sin(1.4) , sin(0.5)]M = 0.1987 0.9854 0.4794
K = 0.2000 1.3997 0.5000>>K = asin([0.1987,0.9854,0.4794])
R = 1.6487 1.0000 2.7183>>R = exp([0.5, 0, 1 ])
P = 0.5000 0 1.0000>>P = log([1.6487, 1.0000, 2.7183])
10P.G.F. 2011
FUNCIÓN DESCRIPCIÓND = det(A) D = Determinante de A.
i = inv(A) I = Inversa de A.
m = min(A) m = fila de A que contiene el mínimo elemento de toda la matriz.
M = max(A) M = fila de A que contiene el máximo elemento de toda la matriz.
S = sum(A) S = vector fila con la suma de cada columna de la matriz A.
VS = svd(A) VS = Descomposición en valores singulares
[M,N] = size(A) tamaño de la matriz A (M = # filas, N = # columnas)
L = length(V) L = longitud del vector V.
[P,Q] = eig(A) P = Matriz con columnas de vectores propios , Q = Matriz diagonal con valores propios de la matriz A.
11P.G.F. 2011
SOLUCIÓN DE SISTEMAS DE ECUACIONES LINEALES
nmnmnn
mm
mm
cxaxaxa
cxaxaxacxaxaxa
=+++
=+++=+++
......
......
2211
22222121
11212111
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
nnmnmm
n
n
c
cc
x
xx
aaa
aaaaaa
.........
................
2
1
2
1
21
22221
11211
A X CA*X = C
X = inv(A)* C
12P.G.F. 2011
EJEMPLO 6. Solucionar el sistema de ecuaciones:
2021032
1234
321
321
321
=−+−=−−
=−+
xxxxxxxxx
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−−
510
12
211132134
3
2
1
xxx
A * X = C>>A = [4 3 –1; 2 –3 –1; 1 1 -2];
>>C = [12 –10 -5]’;
>>X = inv(A)*C
X =
2
3
5
X1 = 2
X2 = 3
X 3= 5
13P.G.F. 2011
EJEMPLO 7. Envío de mensajes secretos importantes
1-a
2-b
3-c
4-d
5-e
6-f
7-g
8-h
9-i
10-j
11-k
12-l
13-m
14-n
15-ñ
16-o
17-p
18-q
19-r
20-s
21-t
22-u
23-v
24-w
25-x
26-y
27-z
28-[ ]
Mensaje a codificarBúscame mañana
Asignar numero a cada letra y espacio
2-22-20-3-1-13-5-28-13-1-15-1-14-1
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡1
141
151
13285
131
320
222 Arreglar en forma de
vectores columna
⎥⎦
⎤⎢⎣
⎡−
−=−
21321M⎥
⎦
⎤⎢⎣
⎡=
2132
M Escoger una matriz que tenga inversa
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡1631
1733
1529
6194
2741
2649
4670
Multiplicar cada vector por M
70-46-49-26-41-27-94-61-29-15-33-17-31-16
Mensaje codificado14P.G.F. 2011
CODIGO EN MATLAB PARA CODIFICAR Y DECODIFICAR UN MENSAJE
%CODIFICACION MENSAJE “BUSCAME MAÑANA”
V=[2,22,20,3,1,13,5,28,13,1,15,1,14,1];
M = [2,3;1,2];
MI = inv(M);
V1=[V(1);V(2)];V2=[V(3);V(4)];V3=[V(5); V(6)];V4=[V(7);V(8)];
V5=[V(9);V(10)];V6=[V(11);V(12)];V7=[V(13);V(14)];
C1=M*V1;C2=M*V2;C3=M*V3;C4=M*V4;C5=M*V5;C6=M*V6;C7=M*V7;
COD = [C1',C2',C3',C4',C5',C6',C7']
%DECODIFICACION
D1=MI*C1;D2=MI*C2;D3=MI*C3;D4=MI*C4; D5=MI*C5;D6=MI*C6;
D7=MI*C7;
DEC = [D1',D2',D3',D4',D5',D6',D7']
15P.G.F. 2011