Está en la página 1de 8

Julio

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.

Pruebe los siguientes comandos.

bclock fix(clock) k=2^10 x=rand X=fix(rand*10) r=2; sup=pi*r^2 workspace

Devuelvefechayhoradelsistema. Fechayhoraconenteros 2elevadoala10 Unnmeroaleatorio0<=x<1 Nmeroenteroaleatorio0<=X<10 Calculalasuperficiedeuncrculoderadio2 Abrelaventanaworkspacedondepueden inspeccionarselasvariablesactualmentedefinidas

Debe observarse que:

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:

save nombre_archivo clear sup clear all load nombre_archivo

Guardaelworkspace Borradelworkspacelavariablesup Borratodaslavariablesdelworkspace Cargaelworkspacepreviamenteguardadoenel archivonombre_archivo

NO M BRES D E LAS VARIABLES


Se debe tener cuidado con los nombres de las variables que se utilizan. Pruebe lo siguiente: sin=5 y=sin(pi) La vairable sin oculta la funcin del mismo nombre. En este caso ser til el comando clear

O PERACIO NES CON VECTORES Y M ATRICES


Para definir matrices se utiliza:

[] , ; ;

Constructor Separadordecolumnas Separadordefilas Separadordefilas

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

FUNCIO NES QUE DEVUELVEN M ATRICES


eye(4) zeros(3,5) ones(3) ones(2,4) rand(3)
Formalamatrizunidadde4x4 Formaunamatrizdecerosde3x5 Formaunamatrizdeunosde3x3 Formaunamatrizdeunosde2x4 Formaunamatrizde3x3denmerosaleatorios

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

GRAFICAND O UNA FUNCI N


Se de sea graficar la funcin f(x)=xsen(x)en el intervalo [-10,10] >> x=[-10:0.1:10]; >> y=sin(x).*x; >> plot(x,y);

Nota: Observe que se ha utilizado el operador (.*)

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

O PERAD ORES LGICOS


& | ~
and or NegacinLgica

Program acin en M atlab SENTENCIA IF


if condicion1 bloque1 elseif condicion2 bloque2 elseif condicion3 bloque3 else bloque4 end Ejemplo: if x == 0 disp('x es igual a cero') elseif x > 0 disp('x es mayor que cero') else x < 0 disp('x es menor que cero') end

Nota: disp imprime en pantalla lo que se asigne dentro del parentesis "( )"

SENTENCIA FOR
for i=limiteInf:step:limiteSup sentencias end

o bien, for i=vectorValores sentencias end Ejemplo:


for i=0:2:10 disp(2^i) 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

Nota: input aisgna a una variable el valor de entrada por teclado.

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.

Las variables definidas en los scripts son globales y permanecen en memoria al


terminar la ejecucin del script. Crea el siguiente Script prueba.m
x=[-pi:0.1:pi]; y1=sin(x); y2=cos(x); plot(x,y1,x,y2);

Desde la ventana de comandos teclea: prueba [ENTER] Ahora verifica el workspace.

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

También podría gustarte