You are on page 1of 2

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.
Lenguaje[editar]

Las aplicaciones de MATLAB se desarrollan en un lenguaje de programación propio. Este lenguaje es interpretado, y puede ejecutarse tanto en

el entorno interactvo, como a través de un archivo de script (archivos *.m). Este lenguaje permite operaciones de vectores y matrices, funciones,

cálculo lambda, y programación orientada a objetos.


Gráficos e interfaces gráficas[editar]

MATLAB provee funciones para visualizar datos en 2D y 3D.


Simulink[editar]

Simulink es un módulo que permite la simulación de sistemas dinámicos a través de una interfaz basada en bloques.
Toolboxes[editar]

Las funcionalidades de Matlab se agrupan en más de 35 toolboxes y paquetes de bloques (para Simulink), clasificadas en las siguientes

categorías:2

MATLAB[editar]

 Parallel Computing

 Math, Statistics, and Optimization

 Control Systems

 Signal Processing and Communications

 Image Processing and Computer Vision

 Test and Measurement

 Computational Finance

 Computational Biology

 Code Generation and Verification

 Application Deployment

 Database Connectivity and Reporting

 MATLAB Report Generator

Simulink[editar]

 Event-Based Modeling

 Physical Modeling

 Control Systems

 Signal Processing and Communications


 Code Generation

 Real-Time Simulation and Testing

 Verification, Validation, and Test

 Simulation Graphics and Reporting


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.
Interfaz con otros lenguajes de programación[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;
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

You might also like