Documentos de Académico
Documentos de Profesional
Documentos de Cultura
09
[ Programacin en MATLAB ]
Guarpida
[http://www.openboxer.260mb.com/matlab.php]
Programacin en Matlab
Gua rpida
Qu es M atlab
MATLAB es la abreviatura de Matrix Laboratory (laboratorio de matrices). Es un programa de anlisis numrico creado por The MathWorks en 1984. Est disponible para las plataformas Unix, Windows y Mac OS X. Se pueden ampliar sus capacidades con Toolboxes, algunas de ellas estn destinadas al procesado digital de seales, adquisicin de datos, economa, inteligencia artificial, lgica difusa. Tambin cuenta con otras herramientas como Simulink, que sirve para simular sistemas. La primera versin surgi con la idea de emplear unos paquetes de subrutinas escritas en Fortran en los cursos de lgebra lineal y anlisis numrico, sin necesidad de escribir programas en Fortran. Usa un lenguaje de programacin creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que usar Fortran. Tambin tiene su propio compilador. Es un software muy usado en universidades, centros de investigacin y por ingenieros. En los ltimos aos ha incluido muchas ms capacidades, como la de programar directamente procesadores digitales de seles, crear cdigo VHDL y otras. MATLAB es un programa de clculo numrico, orientado a matrices y vectores. Por tanto desde el principio hay que pensar que todo lo que se pretenda hacer con el, sera mucho ms rpido y efectivo si se piensa en trminos de matrices y vectores.
Introduccin a M atlab
-MATLAB = MATrix LABoratory -Es un entorno de computacin que presenta facilidades para clculo matemtico y visualizacin grfica. -Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc. Para poder programar en matlab se recomienda tener conocimientos bsicos de programacion en C, para que el usuario comprenda la estructura de un programa en Matlab, de no ser asi comencemos por conocer los comandos bsicos de programacin.
1.- Ejecute MATLAB en su ordenador 2.- En la Ventana de Comandos "Command Windows" se puede trabajar de manera
interactiva.
Las variables se crean automticamente cuando se necesitan (no se declaran). Matlab hace distincin entre maysculas y minsculas (x y X son dos variables
distintas).
Matlab tiene definidas algunas constantes (pi, eps, i,...). La variable ans guarda la respuesta ms reciente. El punto y coma (;) separa comandos consecutivos.
Pruebe los siguientes comandos:
[] , ; ;
En lugar de coma (,) y en lugar de punto y coma (;) puede utilizarse un retorno de carro. Ejemplo: A=[1,2,3; 4,5,6] o simplemente: A=[1 2 3 4 5 6] Pruebe los siguientes comndos:
A=[1,2,3;4,5,6] B=A' C=A*B D=B*A v=[1,2,3,4] w=[5;6;7;8] x=v*w Y=w*v M=[1:10;11:20;21:30] V=[1:0.3:10]
DefinelamatrizAde2x3 DefineBcomolamatriztranspuestadeA CeslamultiplicacindelasmatricesA*B DeslamultiplicacindelasmatricesB*A Defineelvectorfilav Defineelvectorcolumnaw xeslamultiplicacindelasmatricesv*w Yeslamultiplicacindelasmatricesw*v Matrizde3x10conelementosdel1al30 Vectorconelementosdel1al10cuyas componentesseformansumando0.3ala anterior
entre0y1,condistribucinuniforme
rand(4,2)
Idemdetamao4x2
O PERADORES ( * / ^ )
En MATLAB se puede aplicar elemento a elemento los operadores ( * / ^ ). Para ello se les precede por un punto(.). Ejemplos: >>[1 2 3 4]^2 ??? Error using ==> ^ Matrix must be square. >>[1 2 3 4].^2 ans = 1 4 9 16 >>[1 2 3 4]*[1 -1 1 -1] ??? Error using ==> * Inner matrix dimensions must agree. >>[1 2 3 4].*[1 -1 1 -1] ans = 1 -2 3 -4
O PERADORES RELACIONALES
< > <= >= == ~=
Menorque Mayorque Menoroigualque Mayoroigualque Igualque Distintoque
Si una comparacin se cumple el resultado es 1 (true), mientras que si no se cumple el resultado es 0 (false).
Nota: disp imprime en pantalla lo que se asigne dentro del parentesis "( )"
SENTENCIA FOR
for i=limiteInf:step:limiteSup sentencias end
SENTENCIA WHILE
while condicion sentencias end Ejemplo: fprintf(Calculo de la superficie de una circunferencia); r=input('Ingrese el radio o cero para terminar '); while r > 0 sup=pi*r^2; fprintf('Superficie = %.2f\n',sup); r=input('Ingrese el radio o cero para terminar '); end
SENTECIA BREAK
Esta sentencia hace terminar la ejecucin del bucle ms interno. Ejemplo: while 1 r=input('Ingrese el radio o cero para terminar '); if r < 0; break; end sup=pi*r^2; fprintf('Superficie = %.2f\n',sup); end
ARCHIVOS DE EXTENSI N .m
Son archivos de texto que se utilizan para definir funciones y scripts. Puede utilizarse cualquier editor de texto, pero MATLAB posee uno especializado con
facilidades para depuracin.
Pueden invocarse desde la ventana de comandos o desde otros scripts o funciones. Estarn accesibles aquellos scripts y funciones de los directorios agregados en el
path de MATLAB y los del directorio corriente. Pruebe los siguientes comados: dir, ls, pwd, cd, edit.
DEFINICION D E Scripts
Los scripts son archivos que contienen una sucesin de comandos anloga a la que
se tecleara en la ventana de comandos.
DEFINICION D E FUNCIONES
La primera lnea de un archivo llamado name.m que define una funcin tiene la forma: function [lista arg.salida]=name(lista arg.entrada) name es el nombre de la funcin. Si hay un nico argumento de salida pueden omitirse los corchetes. Las variables que se utilicen son locales, no permanecen en el workspace una vez
finalizada la funcin. Ejemplo: function resultado=factorial(n) resultado=1 for i = 1:n resultado=resultado * i end