Professional Documents
Culture Documents
2011
MATLAB
Ing. Paul Glvez F.
Funciones Simbolicas, Vectores y Matrices
Escuela de Ingeniera Sede Valparaso
VARIABLES SIMBLICAS
Las variables simblicas se utilizan para realizar clculos donde se requiere conocer la forma general de la solucin de un determinado problema, o para trabajo con datos desconocidos. Para definir variables simblicas puede usarse el comando sym, para una variable o syms para definir simultneamente varias variables simblicas. Ejemplo 1 1.Hallar el valor de x que cumpla con la ecuacin: 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))
P.G.F. 2011
1
Ejemplo 2. Derivar la funcin: 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) Ejemplo 3. integrar la funcin: f(x) = sqrt(x^2+16) sym x; f = x^2+16; f = int(f) f = 1/3*x^3+16*x fx = 5/(y+cos(x))^2*sin(x) fy = -5/(y+cos(x))^2
P.G.F. 2011
CREACIN.
MATRICES
La definicin 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 lnea. 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 789 11 12 13 -1 0 1]
P.G.F. 2011
3
M= 2 7 11 -1 3 8 12 0 4 9 13 1
Ejemplo
1 1 0 0 0 0 0 0 1 1
>> rand(3,4) = 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919 >> eye(3) = 1 0 0 0 1 0 0 0 1
>> M = [ ]
P.G.F. 2011
VECTORES
CREACIN. Los vectores se deben asimilar a matrices de una sola fila (vectores fila) o a matrices de una sola columna (vectores columna). Ejemplo
VECTOR Vector fila >>F = [3 5 1 7] >>F = [3,5,1,7] Vector Columna >>C = [3; 5; 1; 7] >>C = [3 5 1 7] RESULTADO F= 3 5 1 7
C= 3 5 1 7
P.G.F. 2011
Ejemplo
2.0000
2.5000
3.0000
>> VF = zeros(1,4) VF = 0 0 0 0
>> VC = zeros(4,1) VC = 0 0 0 0
P.G.F. 2011
6
NOTACIN DE ELEMENTOS
a11 a . A = 21 . am1
A(i , j) A(i , :) A(: , j) A(r : s, p:q)
a12 a22 . am 2
a1n a2 n . amn
Denota el elemento de la matriz A ubicado en la fila i y en la columna j . Denota todos los elementos de la fila i de la matriz A . Denota todos los elementos de la columna j de la matriz A . Denota la submatriz de A cuyos elementos estn entre las filas r y s y entre las columnas p y q .
P.G.F. 2011
7
EJEMPLO 4
A= 1 2 5 6 9 10 >> A(2,3) = 3 4 7 8 11 12 7 B = [2 ,-1, 5 ,1, 0, 3, -9]
5 1 3 5 0
-9 3 -9
P.G.F. 2011
OPERACIONES FUNDAMENTALES
OPERACIN
A+B AB A*B k*A A/B A .* B A./B A^n A .^ n A cross(V1,V2)
DESCRIPCIN
Suma (A y B matrices del mismo tamao) Resta (A y B matrices del mismo tamao) Multiplicacin (n columnas de A = n columnas de B) Multiplicacin por un escalar (k = escalar) Divisin Multiplicacin elemento a elemento (A y B matrices del mismo tamao) Divisin elemento a elemento (A y B matrices del mismo tamao) Potenciacin (n = escalar y A matriz cuadrada ) Potenciacin elemento a elemento (n = escalar ) Traspuesta producto cruz entre vectores (V1XV2)
P.G.F. 2011
FUNCIONES CON MATRICES La mayora de las funciones de matLab utilizadas para nmeros 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 = asin([0.1987,0.9854,0.4794])
K = 0.2000
1.3997
0.5000
>>R = exp([0.5, 0, 1 ])
R = 1.6487
1.0000
2.7183
P = 0.5000
P.G.F. 2011
1.0000
10
FUNCIN
D = det(A) i = inv(A) m = min(A) M = max(A) S = sum(A) [P,Q] = eig(A) VS = svd(A) [M,N] = size(A) L = length(V) D = Determinante de A. I = Inversa de A.
DESCRIPCIN
m = fila de A que contiene el mnimo elemento de toda la matriz. M = fila de A que contiene el mximo elemento de toda la matriz. S = vector fila con la suma de cada columna de la matriz A. P = Matriz con columnas de vectores propios , Q = Matriz diagonal con valores propios de la matriz A. VS = Descomposicin en valores singulares tamao de la matriz A (M = # filas, N = # columnas) L = longitud del vector V.
P.G.F. 2011
11
a11 x1 + a12 x2 + ... + a1m xm = c1 a21 x1 + a22 x2 + ... + a2 m xm = c2 ... an1 x1 + an 2 x2 + ... + anm xm = cn
A*X = C
X = inv(A)* C
P.G.F. 2011
12
4 x1 + 3 x2 x3 = 12 2 x1 3 x2 x3 = 10 x1 + x2 2 x3 = 20
4 2 1
3 3 1
1 x1 12 1 x2 = 10 2 x3 5
X = C
X1 = 2 X2 = 3 X 3= 5
P.G.F. 2011
13
EJEMPLO 7. Envo 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 codificado
P.G.F. 2011
14
Mensaje a codificar Asignar numero a cada letra y espacio Arreglar en forma de vectores columna
2 20 1 5 13 15 14 22 3 13 28 1 1 1
2 3 M = 1 2 M
1
2 3 = 1 2
Escoger una matriz que tenga inversa Multiplicar cada vector por M
70 49 41 94 29 33 31 46 26 27 61 15 17 16
70-46-49-26-41-27-94-61-29-15-33-17-31-16
CODIGO EN MATLAB PARA CODIFICAR Y DECODIFICAR UN MENSAJE %CODIFICACION MENSAJE BUSCAME MAANA 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']
P.G.F. 2011
15