Sunteți pe pagina 1din 7

MATLAB

MATLAB

Desarrollador

MathWorks www.mathworks.com/products/matlab

Informacin general

Modelo de desarrollo

Software propietario

Lanzamiento inicial

1984

ltima versin estable

8.1 (R2013a) (info)


Marzo de 2013

Gnero

Software matemtico

Programado en

C, Java

Sistema operativo

Microsoft Windows, Mac OS X,Unix, GNU/Linux

Plataforma

x86 y x86-64

Licencia

Propietaria

Idiomas

ingls

En espaol

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta de 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 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.
ndice
[ocultar]

1 Historia 2 Sintaxis

2.1 Ejemplos

2.1.1 Hello World 2.1.2 Diseo de filtros digitales

3 Cajas de herramientas y paquetes de bloques 4 Limitaciones y alternativas 5 Llamar funciones C y Fortran 6 Vase tambin

7 Referencias 8 Enlaces externos

Historia[editar]
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[editar]
MATLAB es un programa de clculo numrico orientado a matrices. Por tanto, ser ms eficiente si se disean los algoritmos en trminos dematrices y vectores.

Ejemplos[editar]
Hello World[editar]
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[editar]


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 clear all del espacio de trabajo. clc Fc=200; Fm=1000; BT=100; Rs=40; rs=10^(-Rs/20); Rp=2; rp=(10^(Rp/20)-1)/(10^(Rp/20)+1); % Limpia la pantalla. % Frecuencia de corte. % Frecuencia de muestreo. % Banda de transicin. % Ganancias. % Cierra todas las ventanas. % Borra todas las variables

[n1b,wn1]=buttord(2*Fc/Fm,2*(Fc+BT)/Fm,Rp,Rs); buttord). [B1,A1]=butter(n1b,wn1); (funcin butter). h1=freqz(B1,A1); (funcin freqz). plot(abs(h1)) respuesta.

% Orden del filtro (funcin % Coeficientes del filtro % Respuesta en frecuencia % Representacin de la

Archivo: otro ejemplo Serie trigonomtrica de tren de pulsos positivos y negativos. n=input('nmero de sumandos= '); % se crea una serie de pulsos para el procesado de seales y sistemas en el 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: funcion exponencial de la matriz (m), en el editor de Matlab. close all clear all del espacio de trabajo. clc m=[5 6;6 7]; e=zeros(2,2); ceros de 2x2 for k=(1:30) supongamos hasta 30 e=e+(m^k)/factorial(k) como serie de potencias end

Ahora resolveremos la

% Cierra todas las ventanas. % Borra todas las variables % Limpia la pantalla. %Declaramos la matriz m %Declaramos una matriz de %Iniciamos un for de k=1 %Introducimos la ecuacion %Terminamos el for

Cajas de herramientas y paquetes de bloques[editar]

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 (Cajas de herramientas)

Simulink

Matemticas y Optimizacin

Modelado de punto fijo

Estadstica y Anlisis de datos

Modelado basado en eventos

Diseo de sistemas de control y anlisis Modelado fsico

Procesado de seal y comunicaciones

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 datos

Verificacin, validacin y comprobacin

Limitaciones y alternativas[editar]
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:

Vase Anexo:Programas de lgebra computacional

Llamar funciones C y Fortran[editar]


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));

S-ar putea să vă placă și