Analista
2.1 Definición de matrices desde teclado Como en casi todos los lenguajes de programación, en MATLAB las matrices y vectores son variables que tienen nombres. Ya se verá luego con más detalle las reglas que deben cumplir estos nombres. Por el momento se sugiere que se utilicen letras mayúsculas para matrices y minúsculas para vectores y escalares(MATLAB no exige esto, pero puede resultar útil). Para definir una matriz no hace falta establecer de antemano su tamaño (de hecho, se puede definir un tamaño y cambiarlo posteriormente). MATLAB determina el número de filas y de columnas en función del número de elementos que se proporcionan (o se utilizan). Las matrices se definen por filas; los elementos de una misma fila están separados porblancos o comas, mientras que las filas están separadas por pulsaciones intro o por caracteres punto y coma (;). Por ejemplo, el siguiente comando define una matriz A de dimensión (3x3):
» A=[1 2 3; 4 5 6; 7 8 9]
La respuesta del programa es la siguiente:
A 1 4 7 = 2 3 5 6 8 9
A partir de este momento la matriz A está disponible para hacer cualquier tipo de operación con ella (además devalores numéricos, en la definición de una matriz o vector se pueden utilizar expresiones y funciones matemáticas). Por ejemplo, una sencilla operación con A es hallar su matriz traspuesta. En MATLAB el apóstrofo (') es el símbolo de trasposición matricial. Para calcular A’ (traspuesta de A) basta teclear lo siguiente (se añade a continuación la respuesta del programa):
» A' ans = 1 4 7 2 5 8 3 6 913
Como el resultado de la operación no ha sido asignado a ninguna otra matriz, MATLAB utiliza un nombre de variable por defecto (ans, de answer), que contiene el resultado de la última operación. La variable ans puede ser utilizada como operando en la siguiente expresión que se introduzca. También podría haberse asignado el resultado a otra matriz llamada B:
» B 1 2 3 B=A' = 4 7 5 8 6 9Ahora ya están definidas las matrices A y B, y es posible seguir operando con ellas. Por ejemplo, se puede hacer el producto B*A (deberá resultar una matriz simétrica):
» B*A ans = 66 78 90 78 93 108 90 108 126
En MATLAB se accede a los elementos de un vector poniendo el índice entre paréntesis (por ejemplo x(5) ó x(i) ). Los elementos de las matrices se acceden poniendo los dos índices entreparéntesis, separados por una coma (por ejemplo A(1,2) ó A(i,j)). Las matrices se almacenan por columnas (aunque se introduzcan por filas, como se ha dicho antes), y teniendo en cuenta esto puede accederse a cualquier elemento de una matriz con un sólo subíndice. Por ejemplo, si A es una matriz (3x3) se obtiene el mismo valor escribiendo A(1,2) que escribiendo A(4). Invertir una matriz es casi tanfácil como trasponerla. A continuación se va a definir una nueva matriz A -no singular- en la forma:
» A=[1 4 -3; 2 1 5; -2 5 3] A = 1 4 -3 2 1 5 -2 5 3
Ahora se va a calcular la inversa de A y el resultado se asignará a B. Para ello basta hacer uso de la función inv( ) (la precisión o número de cifras con que se muestra el resultado se puede cambiar con el menú File/Preferences/General):
»B=inv(A) B = 0.1803 0.2213 -0.1885 0.1311 0.0246 0.0902 -0.0984 0.1066 0.0574
Para comprobar que este resultado es correcto basta multiplicar A por B;
» A*B ans = 1.0000 0.0000 0.0000
14
0.0000 1.0000 0.0000 0.0000 0.0000 1.0000
De forma análoga a las matrices, es posible definir un vector fila x en la forma siguiente (si los tres números están separados por blancos o comas, elresultado será un vector fila):
» x=[10 20 30] % vector fila x = 10 20 30
MATLAB considera comentarios todo lo que va desde el carácter tanto por ciento (%) hasta el final de la línea. Por el contrario, si los números están separados por intros o puntos y coma (;) se obtendrá un vector columna:
» y=[11; 12; 13] % vector columna y = 11 12 13
MATLAB tiene en cuenta la diferencia entre vectores...
Regístrate para leer el documento completo.