MATLAB

8
MATLAB MATLAB Desarrollador MathWorks www.mathworks.com/products/matlab Información general Modelo de desarrollo Software propietario Lanzamiento inicial 1984 Última versión estable 8.3 (R2014a) (info ) 6 de marzo de 2014; hace 1 año Género Software matemático Programado en C , Java Sistema Microsoft Windows , Mac OS

description

matlab

Transcript of MATLAB

Page 1: MATLAB

MATLABMATLAB

Desarrollador

MathWorks

www.mathworks.com/products/matlab

Información general

Modelo de

desarrollo

Software propietario

Lanzamiento inicial 1984

Última versión

estable

8.3 (R2014a) (info)

6 de marzo de 2014; hace 1 año

Género Software matemático

Programado en C, Java

Sistema operativo Microsoft Windows, Mac OS

X,Unix, GNU/Linux

Page 2: MATLAB

Plataforma x86 y x86-64

Licencia Propietaria

Idiomas inglés

En español No

[editar datos en Wikidata]

MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta de

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, Mac

OS X y GNU/Linux .

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.

Índice

  [ocultar] 

1 Historia

2 Sintaxis

o 2.1 Ejemplos

2.1.1 Hello World

2.1.2 Diseño de filtros digitales

3 Cajas de herramientas y paquetes de bloques

4 Limitaciones y alternativas

5 Llamar funciones C y Fortran

Page 3: MATLAB

6 Véase también

7 Referencias

8 Enlaces externos

Historia[editar]

Fue creado por el matemático y programador de computadoras 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[editar]

MATLAB es un programa de cálculo numérico diseñado para trabajar con matrices. Por tanto,

será más eficiente si se diseñan los algoritmos en términos de matrices yvectores.

Ejemplos[editar]

Hello World[editar]

Éste es el tradicional programa Hola && nada  % Muestra el mensaje. Hola mundo </source>

Diseño de filtros digitales[editar]

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

Page 4: MATLAB

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= '); % se crea una serie de pulsos para el procesado de señales y sistemas en el mundo de las telecomunicaciones t=-2:.01:2;pulso=zeros(1,length(t));for k=1:npulso=pulso+sin(2*(2*k-1)*pi*t)/(2*k-1);endplot(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 función 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 me=zeros(2,2); %Declaramos una matriz de ceros de 2x2for k=(1:30) %Iniciamos un for de k=1 supongamos hasta 30

Page 5: MATLAB

e=e+(m^k)/factorial(k) %Introducimos la ecuación como serie de potenciasend %Terminamos el for

Cajas de herramientas y paquetes de bloques[editar]

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álisisModelado 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

Page 6: MATLAB

Limitaciones y alternativas[editar]

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 :

Véase 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 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;

Page 7: MATLAB

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