MATLAB és un entorn de computació numèrica i un llenguatge de programació. Creat per la companyia MathWorks, MATLAB permet manipular fàcilment matrius, dibuixar funcions i dades, implementar algorismes, crear interfícies d'usuari, i comunicar-se amb altres programes en altres llenguatges. Tot i que s'especialitza en computació numèrica, una caixa d'eines opcional (toolbox) permet usar el motor simbòlic de Maple.

MATLAB
Modifica el valor a Wikidata
Modifica el valor a Wikidata
TipusProgramari d'anàlisi numèrica
Versió inicial1984 Modifica el valor a Wikidata
Versió estableR2014a / Març 6, 2014; fa 10 anys (2014-03-06)
LlicènciaProgramari propietari
Disponible en
Anglès
Característiques tècniques
Sistema operatiuMultiplataforma (llista) (anglès)
Escrit enC, C++, Fortran i Java Modifica el valor a Wikidata
Format de fitxer de lectura
Format de fitxer d'escriptura
Equip
Desenvolupador(s)MathWorks
DissenyadorCleve Moler Modifica el valor a Wikidata
Més informació
Lloc webWeb del producte
Stack ExchangeEtiqueta Modifica el valor a Wikidata


X: MATLAB Youtube: UCgdHSFcXvkN6O3NXvif0-pA Youtube: MATLAB Modifica el valor a Wikidata

El 2004, MATLAB era utilitzat per més d'un milió de persones en la indústria i l'àmbit acadèmic.[1]

El nom MATLAB prové de "Matrix laboratory", és a dir, Laboratori de Matrius.

Història

modifica

MATLAB va ser desenvolupat a finals dels 70 per Cleve Moler, que en aquell temps era el cap del departament d'informàtica de la Universitat de Nou Mèxic. El va dissenyar per donar accés als seus estudiant a LINPACK i EISPACK sense haver d'aprendre Fortran. Aviat es va distribuir per altres universitats i va trobar una gran acceptació en la comunitat de la matemàtica aplicada. Jack Little, un enginyer, el va veure durant una visita que Moler va fer a la Universitat Stanford el 1983. En reconèixer el seu potencial comercial, va agrupar-se amb Moler i Steve Bangert. Van reescriure MATLAB en llenguatge C i van fundar MathWorks el 1984 per continuar el seu desenvolupament. Aquestes llibreries reescrites es coneixien amb el nom de JACKPAC.

Primer MATLAB va ser adoptat pels enginyers de disseny de control, l'especialitat de Little, però ràpidament es va expandir a altres dominis. Ara és també utilitzat en educació, en particular en l'ensenyament d'àlgebra lineal i anàlisi numèrica, i és popular entre els científics involucrats en el processament d'imatge.[2]

Programes d'exemple

modifica

Hola Món

modifica

Aquest és el tradicional exemple Hola món escrit en llengatge MATLAB.

disp('Hola món'); % mostra el missatge

Disseny de filtres digitals

modifica

En aquest exemple es dissenya un filtre digital passa baix de Butterworth i es mostre el mòdul del seu espectre.

close all % tanca totes les finestres que puguin estar obertes
clear all % esborra totes les variables
clc % neteja la pantalla
Fc=200; % freqüència de tall
Fm=1000; % freqüència de mostreig
BT=100; % banda de transició
Rs=40;rs=10^(-Rs/20);
Rp=2;rp=(10^(Rp/20)-1)/(10^(Rp/20)+1); % guanys
[n1b, wn1]=buttord(2*Fc/Fm,2*(Fc+BT)/Fm,Rp,Rs); % ordre del filtre
[B1,A1]=butter(n1b,wn1); % coeficients del filtre
h1=freqz(B1,A1); % resposta en freqüència
plot(abs(h1)) % dibuixa la resposta

Limitacions i alternatives

modifica

Durant molt de temps va tenir moltes crítiques perquè MATLAB és un producte propietari de Mathworks, ja que els usuaris estan subjectes a un venedor lock-in. Recentment s'ha proporcionat una eina addicional dita MATLAB Builder sota la secció d'eines Application Deployment per a fer servir funcions MATLAB com a arxius de biblioteca que poden ser utilitzats en ambients de construcció d'aplicació .NET o Java. Però el desavantatge és que el computador on l'aplicació s'ha d'executar necessita MCR (MATLAB Component Runtime) perquè els arxius MATLAB funcionin correctament. MCR poden ser distribuïts lliurement amb arxius de biblioteca generats pel compilador MATLAB.

  • LabVIEW
  • GNU Octave
  • SAS
  • Scilab
  • Mathcad
  • Llenguatge de programació Python|SciPy & Numerical Python
  • llenguatge R
  • Àlgebra computacional

Crida de funcions C i Fortran

modifica

MATLAB pot cridar funcions i subrutines escrites en llenguatge C o en Fortran per a la realització de prototipatges ràpids en molts àmbits de l'enginyeria. Es crea una funció envolupant que permet que siguin passats i retornats tipus de dades de MATLAB. Els arxius objecte dinàmicament carregables creats, compilant aquestes funcions, s'anomenen "MEX-files", encara que l'extensió de nombre d'arxius depengui del sistema operatiu i del processador.

function [fa,dfa]=funcio_i_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

Alternatives

modifica

Referències

modifica
  1. Richard Goering, "Matlab edges closer to electronic design automation world," EE Times, 10/04/2004 enllaç
  2. Cleve Moler, the creator of MATLAB. «The Origins of MATLAB», December 2004. Arxivat de l'original el 2006-03-18. [Consulta: 17 juny 2007].

Bibliografia

modifica
  • RECERCA i TALENT JOVE.Premis Consell Social URV als millors treballs de recerca de secundària 2007 – 2009. Publicacions URV, ISBN 9788484241461
  • BURGHES D., BORRIE M. (1981). Modelling with differential equations. Ed. Ellis horwood limited, London
  • CHENEY Ward, KINCAID David (1985). Numerical mathematics and computing. Ed. Brooks/Cole Publishing Company, Monterey.
  • CLEVE, Moler (2004). Numerical Computing with Matlab. Ed. Siam, Philadelphia.
  • PRESS William, FLANNERY Brian, TOUKOLSKY Saul, VETTERLING William (1986). Numerical Recipies - the art of Scientific Computing. Ed. Cambridge University Press, Cambridge.
  • GERALD Curtis, WHEATLEY Patrick (1970). Applied Numerical Analysis. Ed Addison-Wesley publishing company, California.

Enllaços externs

modifica
  NODES
mac 5
os 11
web 2