- MATLAB
-
MATLAB Desarrollador MathWorks
www.mathworks.com/products/matlabInformación general Modelo de desarrollo Software propietario Lanzamiento 1984 Última versión estable 7.13 (R2011b) (info)
1 de septiembre de 2011Género Software matemático Programado en C, Java Sistema operativo Microsoft Windows, Mac OS X, Unix, GNU/Linux Plataforma x86 y x86-64 Licencia Propietaria Idiomas inglés En español 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.
Contenido
Historia
Fue creado por Cleve Moler en 1984, surgiendo la primera versión con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y análisis numérico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de programación M fue creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que usar Fortran.
En 2004, se estimaba que MATLAB era empleado por más de un millón de personas en ámbitos académicos y empresariales.[1]
Sintaxis
MATLAB es un programa de cálculo numérico orientado a matrices. Por tanto, será más eficiente si se diseñan los algoritmos en términos de matrices y vectores.
Ejemplos
Hello World
Éste es el tradicional programa Hello World hecho con el lenguaje de MATLAB:
>> disp('Hola mundo'); % Muestra el mensaje. Hola mundo
Diseño de filtros digitales
En este ejemplo se diseña un filtro digital paso bajo de Butterworth y se muestra el módulo de su espectro además incluimos otro ejemplo de un tren de deltas para el análisis espectral:
close all % Cierra todas las ventanas. clear all % Borra todas las variables del espacio de trabajo. clc % Limpia la pantalla. Fc=200; % Frecuencia de corte. Fm=1000; % Frecuencia de muestreo. BT=100; % Banda de transición. Rs=40; % Ganancias. rs=10^(-Rs/20); Rp=2; rp=(10^(Rp/20)-1)/(10^(Rp/20)+1); [n1b,wn1]=buttord(2*Fc/Fm,2*(Fc+BT)/Fm,Rp,Rs); % Orden del filtro (función buttord). [B1,A1]=butter(n1b,wn1); % Coeficientes del filtro (función butter). h1=freqz(B1,A1); % Respuesta en frecuencia (función freqz). plot(abs(h1)) % Representación de la respuesta.
Archivo: otro ejemplo Serie trigonométrica de tren de pulsos positivos y negativos.
n=input('número de sumandos= '); % creamos una serie de pulsos útil para el procesados de señales y sistemas dentro del mundo de las telecomunicaciones t=-2:.01:2; pulso=zeros(1,length(t)); for k=1:n pulso=pulso+sin(2*(2*k-1)*pi*t)/(2*k-1); end plot(t,pulso) grid
Ejemplo
La función exponencial ex puede ser definida de diversas maneras equivalentes entre sí, como una serie infinita. En particular podemos definirla como una serie de potencias: Ahora resolveremos la funcion exponencial de la matriz (m), en el editor de Matlab.
close all % Cierra todas las ventanas. clear all % Borra todas las variables del espacio de trabajo. clc % Limpia la pantalla. m=[5 6;6 7]; %Declaramos la matriz m e=zeros(2,2); %Declaramos una matriz de ceros de 2x2 for k=(1:30) %Iniciamos un for de k=1 supongamos hasta 30 e=e+(m^k)/factorial(k) %Introducimos la ecuacion como serie de potencias end %Terminamos el for
Cajas de herramientas y paquetes de bloques
Las funcionalidades de Matlab se agrupan en más de 35 cajas de herramientas y paquetes de bloques (para Simulink), clasificadas en las siguientes categorías:[2]
MATLAB (Cajas de herramientas) Simulink Matemáticas y Optimización Modelado de punto fijo Estadística y Análisis de datos Modelado basado en eventos Diseño de sistemas de control y análisis Modelado físico Procesado de señal y comunicaciones Gráficos de simulación Procesado de imagen Diseño de sistemas de control y análisis Pruebas y medidas Procesado de señal y comunicaciones Biología computacional Generación de código Modelado y análisis financiero Prototipos de control rápido y SW/HW HIL Desarrollo de aplicaciones Tarjetas integradas Informes y conexión a bases de datos Verificación, validación y comprobación Limitaciones y alternativas
Durante mucho tiempo hubo críticas porque MATLAB es un producto propietario de The Mathworks, y los usuarios están sujetos y bloqueados al vendedor. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la sección de herramientas "Application Deployment" para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construcción de aplicación .NET o Java. Pero la desventaja es que el computador donde la aplicación tiene que ser utilizada necesita MCR(MATLAB Component Runtime) para que los archivos MATLAB funcionen correctamente. MCR se puede distribuir libremente con los archivos de biblioteca generados por el compilador MATLAB.
- LabVIEW
- GNU Octave, software libre similar a matlab.
- SAS
- Scilab
- Mathcad
- SciPy & Numerical Python
- Lenguaje R
- Álgebra computacional:
Llamar funciones C y Fortran
MATLAB puede llamar funciones y subrutinas escritas en C o Fortran. Se crea una función envoltorio que permite que sean pasados y devueltos tipos de datos de MATLAB. Los archivos objeto dinámicamente cargables creados compilando esas funciones se denominan "MEX-files", aunque la extensión de nombre de archivo depende del sistema operativo y del procesador.
function [fa,dfa]=funcion_y_derivada(x) fa=0; n=1; h=1; dfa=0; while (n <= (10*(x-(1/2))^2) + 10) fa=fa+(((-x^2)^n)/factorial(2*n)); h=h/2; dfa=dfa+(((((-(x+h)^2)^n)/factorial(2*n))-(((-x^2)^n)/factorial(2*n)))/h); n=n+1; end
function v=aproxima_derivada2(funci,a) syms x; i=1; h=1; v(i)=(subs(funci,a+h)+subs(funci,a-h)-(2*subs(funci,a)))/(h^2); error=1; while(error>1e-10) h=h/2; i=i+1; v(i)=(subs(funci,a+h)+subs(funci,a-h)-(2*subs(funci,a)))/(h^2); error= abs(v(i)-v(i-1)); end
Véase también
- Historial de versiones de MATLAB
Referencias
- ↑ Richard Goering, "Matlab edges closer to electronic design automation world," EE Times, 10/04/2004 online (en inglés)
- ↑ Lista de productos MATLAB por categorías
Enlaces externos
- Wikilibros alberga un manual sobre MATLAB.
- Página web del producto
- www.matpic.com (sitio web sobre Matlab/Simulink, microcontroladores (en especial PIC de Microhip y AVR de Atmel) y lenguajes de descripción de hardware, con guías y ejemplos.)
- Wikibooks
- Introducción Informal a Matlab y Octave de Guillem Borrell i Nogueras (libro libre en español)
- MatlabLatino (Video-tutoriales introductorios de Matlab y Simulink en idioma español)
- (en inglés) MATLAB online - MATLAB R2009a web interfaz
Categorías:- Software de análisis numérico
- Software matemático
- Software de gráficos
- Sistemas algebraicos computacionales
- Software programado en C
- Software multiplataforma
- Software propietario
Wikimedia foundation. 2010.