You are on page 1of 5

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemtico que ofrece un entorno de desarrollo integrado (IDE) con

un lenguaje de programacin propio (lenguaje M). Est disponible para las plataformas Unix, Windows y Apple Mac OS X. Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin de datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario (GUI) y la comunicacin 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 simulacin multidominio) y GUIDE (editor de interfaces de usuario - GUI). Adems, 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 investigacin y desarrollo. En los ltimos aos ha aumentado el nmero de prestaciones, como la de programar directamente procesadores digitales de seal o crear cdigo VHDL.

Historia
Fue creado por Cleve Moler en 1984, surgiendo la primera versin con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de lgebra lineal y anlisis numrico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de programacin 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 ms de un milln de personas en mbitos acadmicos y empresariales.1

Sintaxis
MATLAB es un programa de clculo numrico orientado a matrices. Por tanto, ser ms eficiente si se disean los algoritmos en trminos de matrices y vectores.

Ejemplos
Hello World ste es el tradicional programa Hello World hecho con el lenguaje de MATLAB:
>> disp('Hola mundo'); Hola mundo % Muestra el mensaje.

Diseo de filtros digitales En este ejemplo se disea un filtro digital paso bajo de Butterworth y se muestra el mdulo de su espectro adems incluimos otro ejemplo de un tren de deltas para el anlisis espectral:

close all ventanas. clear all variables del espacio de trabajo. clc Fc=200; corte. Fm=1000; muestreo. BT=100; transicin. Rs=40; 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); (funcin buttord). [B1,A1]=butter(n1b,wn1); filtro (funcin butter). h1=freqz(B1,A1); frecuencia (funcin freqz). plot(abs(h1)) la respuesta.

% Cierra todas las % Borra todas las % Limpia la pantalla. % Frecuencia de % Frecuencia de % Banda de % Ganancias.

% Orden

del filtro

% Coeficientes del % Respuesta en % Representacin de

Archivo: otro ejemplo Serie trigonomtrica de tren de pulsos positivos y negativos.


n=input('nmero de sumandos= '); % creamos una serie de pulsos til para el procesados de seales 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 funcin 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 funcion exponencial de la matriz (m), en el editor de Matlab.
close all ventanas. clear all variables del espacio de trabajo. clc m=[5 6;6 7]; m e=zeros(2,2); matriz de ceros de 2x2 % Cierra todas las % Borra todas las % Limpia la pantalla. %Declaramos la matriz %Declaramos una

resolveremos

la

for k=(1:30) k=1 supongamos hasta 30 e=e+(m^k)/factorial(k) ecuacion como serie de potencias end

%Iniciamos un for de %Introducimos la %Terminamos el for

Cajas de herramientas y paquetes de bloques


Las funcionalidades de Matlab se agrupan en ms de 35 cajas de herramientas y paquetes de bloques (para Simulink), clasificadas en las siguientes categoras:2

MATLAB herramientas)

(Cajas

de

Simulink

Matemticas y Optimizacin

Modelado de punto fijo

Estadstica y Anlisis de datos

Modelado basado en eventos

Diseo de sistemas de control y Modelado fsico anlisis

Procesado de comunicaciones

seal

Grficos de simulacin

Procesado de imagen

Diseo de sistemas de control y anlisis

Pruebas y medidas

Procesado de seal y comunicaciones

Biologa computacional

Generacin de cdigo

Modelado y anlisis financiero

Prototipos de control rpido y SW/HW HIL

Desarrollo de aplicaciones

Tarjetas integradas

Informes y conexin a bases de Verificacin, datos comprobacin

validacin

Limitaciones y alternativas
Durante mucho tiempo hubo crticas porque MATLAB es un producto propietario de The Mathworks, y los usuarios estn sujetos y bloqueados al vendedor. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la seccin de herramientas "Application Deployment" para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construccin de aplicacin .NET o Java. Pero la desventaja es que el computador donde la aplicacin 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: o Vase Anexo:Programas de lgebra computacional

Llamar funciones C y Fortran


MATLAB puede llamar funciones y subrutinas escritas en C o Fortran. Se crea una funcin envoltorio que permite que sean pasados y devueltos tipos de datos de MATLAB. Los archivos objeto dinmicamente cargables creados compilando esas funciones se denominan "MEX-files", aunque la extensin 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

Mathcad es un programa algebraico de computadora, distribuido por PTC. A diferencia de otros softwares, MathCad es ms intuitivo de usar, su filosofa es que es un programa ms de documentacin que de clculo, aunque tambin es potente en este mbito, es muy visual y permite el uso de plantillas de funciones en las que solo es necesario escribir los valores deseados, incluso para graficar funciones.

Descripcin
Mathcad es un entorno de documentacin tcnica con prestaciones de clculo numrico y simblico, que permite explorar problemas, formular ideas, analizar datos, modelar y chequear escenarios, determinar la mejor solucin, como as tambin documentar, presentar y comunicar los resultados. Algunas de las capacidades matemticas de Mathcad estn basadas en parte del cdigo del programa algebraico Maple (Ncleo MathSoft de Maple o Mathsoft Kernel Maple, MKM) MathCad se encuentra organizado como una hoja de trabajo, en las que las ecuaciones y expresiones se muestran grficamente, no como simple texto. Dentro de las capacidades de MathCad se encuentran:

Resolver ecuaciones diferenciales con varios mtodos numricos Graficar funciones en dos o tres dimensiones El uso del alfabeto griego (letras griegas maysculas y minsculas) Clculo de expresiones simblicas Operaciones con arreglos (vectores y matrices) Solucin simblica de un sistema de ecuaciones Encontrar la grfica (la curva de tendencia) de un grupo de datos Implementacin de subprogramas Encontrar races de polinomios y funciones Funciones estadsticas y distribuciones de probabilidad Encontrar valores propios o autovalores y vectores propios o autovectores

You might also like