Qué es MATLAB
Enviado por juantenorio • 26 de Enero de 2014 • 1.936 Palabras (8 Páginas) • 371 Visitas
¿Qué es MATLAB?
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.
El entorno de trabajo de MATLAB
El entorno operativo de Matlab se compone de una serie de ventanas las que presentamos a continuación. Aunque el reparto de estas ventanas en la pantalla puede cambiarse, generalmente aparecen en la misma posición.
Las ventanas que forman parte del entorno de trabajo de Matlab son:
Command Window:
Se utiliza para introducir órdenes directamente por el usuario (seguidas de enter). Los resultados de las órdenes introducidas se muestran en esta misma pantalla. Cuando las órdenes se envían desde un programa previamente escrito, que en Matlab recibe el nombre de M-file, los resultados también aparecen en esta ventana.
Command history:
Las órdenes introducidas en la ventana command window quedan grabadas en esta ventana, de forma que, haciendo doble click sobre ellas, las podemos volver a ejecutar. De la misma forma, si nos situamos en la ventana command window, en el espacio reservado para introducir nuevas órdenes, i.e. inmediatamente después de >>, y presionamos la tecla ↑, podemos acceder a órdenes introducidas con anterioridad.
Workspace:
Esta ventana contiene las variables (escalares, vectores, matrices, ...) creadas en la sesión de Matlab. La ventana workspace nos proporciona información sobre el nombre, dimensiones, tamaño y tipo de variable. Existen dos opciones para eliminar una variable:
a) Introducir en command window el comando clear seguido del nombre de la variable.
b) Seleccionar la variable en el workspace y borrarla directamente con la tecla delete.
Haciendo doble click en una variable se accede al contenido de dicha variable, pudiendo modificar sus valores.
Current directory:
Las operaciones de Matlab utilizan el directorio seleccionado en current directory (a través del botón para explorar) como punto de referencia.
Por ejemplo, si guardamos una serie de variables con el comando save, se guardan en el directorio en el que estemos trabajando. Lo mismo ocurre cuando cargamos datos con el comando load: el ordenador busca los datos en el fichero en el que estemos trabajando.
Fundamentos de programación en MATLAB
a. Arreglos y matrices
i. Crear y concatenar matrices
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 letras minúsculas para vectores y escalares (MATLAB no exige esto, pero puede resultar útil).
Para definir una matriz no hace falta declararlas o 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 o introducen por filas6; los elementos de una misma fila están separados por blancos 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 (3×3):
>> A=[1 2 3; 4 5 6; 7 8 9]
La respuesta del programa es la siguiente:
A =
1 2 3
4 5 6
7 8 9
ii. Indexar matrices.
iii. Obtener información acerca de una matriz
[m,n]=size(A) devuelve el número de filas y de columnas de la matriz A. Si la matriz escuadrada basta recoger el primer valor de retorno
n=length(x) calcula el número de elementos de un vector x
zeros(size(A)) forma una matriz de ceros del mismo tamaño que una matriz A previamente creada
ones(size(A)) ídem
A=diag(x) forma una matriz diagonal A cuyos elementos diagonales son los elementos de un vector ya existente x
x=diag(A) forma un vector x a partir de los elementos de la diagonal de una matriz ya existente A
diag(diag(A)) crea una matriz diagonal a partir de la diagonal de la matriz A
blkdiag(A,B) crea una matriz diagonal de submatrices a partir de las matrices que se le pasan como argumentos
triu(A) forma una matriz triangular superior a partir de una matriz A (no tiene por qué ser cuadrada). Con un segundo argumento puede controlarse que se mantengan o eliminen más diagonales por encima o debajo de la diagonal principal.
tril(A) ídem con una matriz triangular inferior
rot90(A,k) Gira k*90 grados la matriz rectangular A en sentido antihorario. k es un entero que puede ser negativo. Si se omite, se supone k=1
flipud(A) halla la matriz simétrica de A respecto de un eje horizontal
fliplr(A) halla la matriz simétrica de A respecto de un eje vertical
reshape(A,m,n) Cambia el tamaño de la matriz A devolviendo una matriz de tamaño m×n cuyas columnas se obtienen a partir de un vector formado por las columnas de A puestas una a continuación de otra.
iv. Redimensionar y remodelar matrices
Un caso especialmente interesante es el de crear una nueva
...