Sunteți pe pagina 1din 9

2.

Ambiente Matlab
MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para
realizar clculos numricos con vectores y matrices. Como caso particular puede tambin
trabajar con nmeros escalares, tanto reales como complejos. Una de las capacidades ms
atractivas es la de realizar una amplia variedad de grficos en dos y tres dimensiones.
MATLAB tiene tambin un lenguaje de programacin propio.
2.1 Ventanas que se abren a la hora de abrir Matlab.
Se abre la ventana principal que es el Comand Window, que es la ventana sobre la que se
trabajara y en la que se introducirn todos los comandos, el Workspace (informacin sobre los
elementos que se han creado), el Comand History (recoge todos los comandos introducidos) y
por ltimo, el Current Directory (ficheros *.m de la carpeta). Tambin el prompt caracterstico
de MATLAB (). Esto quiere decir que el programa est preparado para recibir instrucciones.



A travs de la barra de mens se accede a las operaciones que no estn disponibles en la barra
de herramientas. El men principal es File, en el se encuentra la gran mayora de las
operaciones no presentes en la barra de herramientas. En la siguiente figura se muestra el
men File.


3. Caractersticas
Matlab es un paquete de software orientado hacia el clculo numrico cientfico e ingenieril.
Integra clculo numrico, computacin de matrices y grficos en un entorno de trabajo cmodo
para el usuario. Su nombre significa Laboratorio de Matrices y fue escrito inicialmente en base a
los ya existentes paquetes de clculo matricial LINPACK y EIS-PACK. Posteriormente se han
aadido libreras, denominadas Toolboxes, especializadas en diferentes reas cientficas. De
entre ellas podemos destacar
Simulink Toolbox
Control System Toolbox
System Identication Toolbox
Robust Control Toolbox
Signal Processing Toolbox
Filter Design Toolbox
Symbolic Math Toolbox
por su particular inters para nuestra rea de conocimiento. La ultima de la lista, Symbolic
Math Toolbox, est basada en el programa de clculo simblico Maple y utiliza una sintaxis
diferente.
Matlab ha evolucionado y crecido con las aportaciones de muchos usuarios. En entornos
universitarios se ha convertido, junto con Mathematica y Maple, en una herramienta
instructora bsica para cursos de matemticas aplicadas as como para cursos avanzados en
otras reas. En entornos industriales se utiliza para investigar y resolver problemas prcticos y
clculos de ingeniera. Son aplicaciones tpicas el clculo numrico, la realizacin de algoritmos,
la resolucin de problemas con formulacin matricial, la estadstica, la optimizacin, etc. Es de
destacar la aplicacin en el estudio, simulacin y diseo de los sistemas dinmicos y de control.


3.1 Funcionamiento
Matlab es un programa intrprete de comandos. Esto quiere decir que es capaz de procesar de
modo secuencial una serie de comandos previamente denidos, obteniendo de forma
inmediata los resultados. Los comandos pueden estar ya denidos en el propio Matlab y
pueden tambin ser denidos por el usuario. Para que Matlab pueda realizar este proceso el
usuario ha de escribir la lista de comandos en la ventana de comandos, si su nmero es
reducido, o en un chero con extensin .m, constituyendo entonces un programa.
El mtodo que debe seguirse para procesar los datos es muy simple:
1. El usuario escribe expresiones en la ventana de comandos, o bien en un archivo de texto
apropiado (archivo.m).
2. Tras la orden de ejecucin ENTER (o escribir el nombre del chero), Matlab procesa la
informacin.
3. Matlab Escribe los resultados en la ventana de comandos y los gracos (si los hu-biere) en
otras ventanas gracas.

3.3 Sintaxis
Para escribir las expresiones es preciso respetar ciertas reglas sintcticas propias de Matlab.
Algunas se parecen bastante a las de otros lenguajes de programacin por lo que no resultan
extraas.
3.3.1 Expresiones algebraicas
Estn formadas por cadenas de caracteres, nmeros y operadores algebraicos. Las cadenas de
caracteres pueden ser smbolos de variables (matrices) o funciones de Matlab. Las maysculas y
minsculas son distintas.
Podemos distinguir dos tipos de expresiones: numricas (propias de Matlab) y simblicas
(propias de Maple). Una expresin numrica puede contener smbolos (nombres de variables)
pero estos han de estar previamente asignadas a valores numricos. Las expresiones
>> a = 2; b = 3; >> a + b
son numricas; el valor de a + b es hallado y mostrado por Matlab inmediatamente-te: ans = 5.
Sin embargo, una expresin simblica puede contener smbolos sin valor numrico asignado. Si
escribimos
>>syms x
>> p = 2*x^2 - 7;
la segunda expresin representa un polinomio en la indeterminada x. El valor de p para x = 1 se
puede obtener con
>> subs(p,x,1)
que dar como resultado: ans = 5.


3.3.2 Operadores
Hay operadores para nmeros (reales o complejos) y para matrices.
Para nmeros: + - * / ^
Nmeros complejos: Est denida la unidad imaginaria, 1, que se denota indistintamente por
los smbolos i y j
Para matrices: + - * / \ ^
Para matrices elemento por elemento: .+ .- .* ./ .^
Los operadores para nmeros se colocan entre dos nmeros y dan como resultado otro
nmero. Por ejemplo 2 + 3 o a + b, si a y b han sido asignadas previamente a nmeros. Los
operadores para matrices se colocan entre dos matrices y dan como resultado otra matriz.
Los operadores de relacin son para nmeros reales, se colocan entre dos nmeros y dan como
resultado 1, que signica cierto, o 0, que signica falso. El signicado de todos ellos resulta
obvio, si bien conviene aclarar que el operador == signica igual, en el sentido de condicion
(por ejemplo a==b puede ser cierto o falso), y es diferente del operador = que sirve para asignar
un valor a una variable (por ejemplo a=3) signica dar a la variable a el valor de 3. El operador
~= signica distinto, tambin en el sentido de condicin. Los operadores de condicin se
utilizan, sobre todo, en las estructuras de programacin if-then-else, for, y while.
Para delimitar las matrices se utilizan los corchetes * +. Para separar elementos consecutivos,
el espacio en blanco (barra espaciadora) o la coma , y para pasar de la, la tecla
ENTER o el punto y coma ; .

La traspuesta conjugada de una matriz de nmeros complejos A se representa por A. Otros
operadores, para usos varios, son
Ayudas al usuario: who, help, ! , save, load
Operaciones lgicas: & (AND), ! (OR), ~ (NOT)
3.3.3 Funciones elementales
Matlab dispone de las funciones elementales ms comunes (las que tienen las calculadoras de
bolsillo) y otras especiales, propias. Realizan una operacin sobre un argumento numrico dado
de tipo matriz y operan elemento por elemento. Las ms usuales son:
Trigonomtricas: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh.
Lgicas: any, all, nd, exist, isnan, nite, isempty, isstr, strcomp.
Otras: abs, angle, sqrt, real, imag, conj, round, x, oor, ceil, sign, rem, exp, log, log10.
Especiales: bessel, gamma, rat, ert, invertf, ellipk, ellipj.
3.4 Desarrollo de una sesin
Los manuales de Matlab explican detalladamente los conceptos, comandos y procedimientos
del programa. Aqu vamos realizar una introduccin a su manejo mediante algunos ejemplos. Es
conveniente que los alumnos realicen por su cuenta otros parecidos y traten de utilizar Matlab
para resolver problemas de Matemticas, Fsica y otras asignaturas.
La instalacin se realiza automticamente con el CD de Matlab. Una vez instalado el programa,
al picar con el ratn en el icono de MATLAB aparece en la pantalla la ventana:

Esta ventana se llama MATLAB command window y es en la que el usuario opera. En la primera
lnea aparecen las opciones disponibles.
1.4.1 Comandos de Utilidad
Los comandos demo, help, who, whos, dir, diary y algunos otros, resultan muy tiles para el
usuario en el desarrollo de la sesion.
El comando demo nos muestra, de modo interactivo, un amplio abanico de ejemplos de
aplicacin de Matlab y es de gran ayuda durante nuestros inicios con el programa.
El comando help funcion_deseada muestra en la pantalla un texto explicando cmo se utiliza.
Por ejemplo,
>> help poly
POLY Characteristic polynomial.
If A is an N by N matrix, POLY(A) is a row vector with N+1 elements which are the coefficients of
the characteristic polynomial, DET(lambda*EYE(A) - A) .
If V is a vector, POLY(V) is a vector whose elements are the coefficients of the polynomial
whose roots are the elements of V . For vectors, ROOTS and POLY are inverse functions of each
other, up to ordering, scaling, and roundoff error.
3.5. Programacin
Para evitar teclear repetidamente las mismas funciones, Matlab permite crear un chero con
una lista de comandos que luego, al ser llamado, interpreta secuencialmente. Dispone, como
otros lenguajes de programacin, de las estructuras if-then-else, while y for. El archivo en el
que se escriben las ordenes de Matlab (programa) ha de tener la extensin .m y se puede
escribir con cualquier editor de texto.
Para ejecutar el programa, simplemente ponemos su nombre
>> nombre-fichero
el mismo nombre que hayamos puesto antes (pero sin .m). En un chero-m podemos colocar
simplemente una lista de instrucciones de Matlab con lo que al llamarlo se ejecutarn
secuencialmente.
Matlab tiene un lenguaje de programacin propio, de tipo intrprete. Es decir, es capaz de
interpretar una lista de instrucciones contenidas en un chero-m. Igual que
otros lenguajes de programacin, dispone de las estructuras de programacin clsicas: if-then-
else, for, y while.
Estructura if-then-else
La sintaxis de la estructura if-then-else es
If condicion1
orden1a
orden2a
...
...
Else
if condicion2
orden1b
orden2b
...
...
else
orden n
end
en donde orden1*, orden2*, . . . , son rdenes y condicion1, condicion2, . . . , estamentos
condicionales o booleanos de Matlab. Puede observarse que no se pone la palabra then.
Veamos un ejemplo.
if i==j
A(i,j) = 2;
else
if abs(i-j) == 1
A(i,j) = -1;
else
A(i,j) = 0;
end
Estructura for
La sintaxis de la estructura for es
for variable=expression
orden1a
orden2a
...
...
end
en donde orden1*, orden2*, . . . , son ordenes de Matlab. Por ejemplo,
A = zeros(3,4) for i=[1:4]
for j=[1:4]
A(i,j) = i+j;
end
end
Puede haber, como en este ejemplo, varios bucles for anidados.
Estructura while
La sintaxis de la estructura while es
while condicion
orden1a
orden2a
...
...
end
en donde orden1a, orden2a, . . . , son rdenes y condicin es un estamento condicional o
booleano de Matlab. Como ejemplo, podramos poner
n = 0; eps=1;
while 1+eps > 1
eps = eps/2;
n = n+1;
end

S-ar putea să vă placă și