Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCCIN
Qu es Matlab?, MATrix LABoratory MATLAB es un programa para realizar clculos numricos con vectores y matrices. Como caso particular puede tambin trabajar con nmeros escalares, tanto reales como complejos. Una de las capacidades ms atractivas es la de realizar una amplia variedad de grficos en dos y tres dimensiones. MATLAB.
INTERFACE
La notacin para las operaciones matemticas elementales es: ^ exponenciacin * multiplicacin / divisin + suma - resta
La siguiente tabla contiene algunas funciones elementales: sin tan asin atan csc exp sqrt seno cos tangente seno inverso acos tangente inverso cosecante cot exponencial log raz cuadrada abs coseno sec secante coseno inverso cotangente logaritmo natural valor absoluto
EJEMPLO
Suma, Resta, Multiplicacin, Divisin Suma y Resta a = [ 1 2;3 4] ; b = [1 1; 1 1]; c= a + b; d = a b; La estructura de las matrices debe ser igual size(c) = size (a) = size (b) = [2 2]
Multiplicacin y Divisin a = [1 2;4 5;7 8]; n = size(a); funcion: ones(filas,columnas) : genera una matriz de unos b = 2*ones(n(2),n(1)); m = size(b); Regla de Multiplicacin de Matrices n(1) x n(2) x m(1) x m(2) donde n(2) = m(1) c = a*b
manzanas =4 >> platanos=6, melones=2; >> fruta=manzanas+platanos+melones >> coste=manzanas*25+platanos*22+melones*99 coste =430 >>coste_medio=coste/fruta coste_medio =35.8333 >>who
>>a=1; b=4; c=13; >>x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1 =-2.0000 + 3.0000i >>x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2 =-2.0000 - 3.0000i >> a*x1^2+b*x1+c % Sustituimos x1 para comprobar la respuesta. ans =0 >> a*x2^2+b*x2+c % Sustituimos x2 para comprobar la respuesta. ans =0
>> c1=1-2i % Con j en lugar de i tambin funciona. c1 = 1.0000 - 2.0000i >>c2=3*(2-sqrt(-1)*3); c3=sqrt(-2); c4=6+sin(.5)*j c4 = 6.0000 + 0.4794i >>c5=(c1+c2)/c3 c5 = -7.7782 - 4.9497i
>> c1=1-2i % Con j en lugar de i tambin funciona. c1 = 1.0000 - 2.0000i >>c2=3*(2-sqrt(-1)*3); c3=sqrt(-2); c4=6+sin(.5)*j c4 = 6.0000 + 0.4794i >>c5=(c1+c2)/c3 c5 = -7.7782 - 4.9497i
Invertir una matriz cuadrada >> inv(C*C')ans = 1.1856 -0.5773 -0.5773 0.2822
Matlab permite, asimismo, realizar operaciones sobre cada elemento de la matriz. Por ejemplo,Suma de un escalar a cada elemento de la matriz >> C>> C = 5 7 8 9 12 14 16 18 >> C+2 ans = 7 9 10 11 14 16 18 20
Multiplicar cada elemento por un escalar >> C*Aans = 65 91 104 117 156 182 208 234
Realizar operaciones lgicas sobre cada elemento de la matriz >> C >= 0ans = 1 1 1 1 1 1 1 1 Este resultado indica que todos los elementos de la matriz son no negativos. No obstante, podemos cambiar la comparacin y cambiar el resultado
>> C >10 ans = 0 0 0 0 1 1 1 1 ya que slo la segunda fila de la matriz C presenta valores superiores a 10.
Multiplicar dos matrices (de las mismas dimensiones) elemento a elemento >> F = [1 2 4 9; 9 3 6 0]F = 1 2 4 9 9 3 6 0 >> C.*F ans = 5 14 32 81 108 42 96 0 Observe que hemos antepuesto un "punto" al signo de la multiplicacin. Este punto hace que las operaciones sean realizadas elemento a elemento.
Elevar los elementos de una matriz a una cierta potencia. Por ejemplo, compare los resultados obtenidos haciendo >> (C*C')^2ans = 248665 510272 510272 1047104 respecto de>> (C*C').^2 ans = 47961 200704 200704 846400 En el primer caso hemos multiplicado una matriz cuadrada (el resultado de C*C') por ella misma. En el segundo, hemos elevado al cuadrado cada elemento de la matriz cuadrada C*C'.
Matlab dispone tambin de una potente semntica para poder indexar elementos dentro de las matrices de una forma rpida y eficiente. Algunos ejemplos ilustrarn esta forma de indexacin. Podemos referirnos a cada elemento de una matriz como >> CC = 5 7 8 9 12 14 16 18 >> C(1,3) ans = 8
Asismo, podemos extraer una submatriz de C, consistente en la primera fila y todas las columnas de C >> C(1,:) ans = 5 7 8 9 O bien la tercera columna y todas las filas >> C(:,3) ans = 8 16
Asismo, podemos extraer una submatriz de C, consistente en la primera fila y todas las columnas de C >> C(1,:) ans = 5 7 8 9 O bien la tercera columna y todas las filas >> C(:,3) ans = 8 16
O bien las dos primeras filas y las tres primeras columnas >> C(1:2,1:3) ans = 5 7 8 12 14 16
O bien las dos primeras filas y las columnas de 2 a 4 >> C(1:2,2:4) ans = 7 8 9 14 16 18
y a continuacin, calculemos sin(x) almacenando el resultado en la variable y: y=sin(x); Para trazar el grfico, se emplea la funcin plot: plot(x,y) y se obtiene en otra ventana el grfico: