Sei sulla pagina 1di 29

Introducci

n Edici on o a MATLAB Segunda


Kermit Sigmon Department of Mathematics University of Florida

Traducido del ingl s por: e Celestino Montes Departamento de Matem tica Aplicada II a Universidad de Sevilla

Department of Mathematics University of Florida Gainesville, FL 32611 sigmon@math.ufl.edu sigmon@ufpine.bitnet Copyright c 1989, 1992 by Kermit Sigmon

Copyright c 1989, 1992 por Kermit Sigmon Introducci n a MATLAB puede distribuirse como el usuario lo desee sujeto a las o siguientes condiciones: 1. No debe alterarse, excepto por la posible adici n de un adendo que proporcione o informaci n acerca de la instalaci n local del computador. o o 2. El documento completo, o parte de l, no debe usarse como parte de otro doce umento distribuido con prop sitos comerciales. o En particular, Introducci n a MATLAB puede distribuirse mediante un servicio de o a o fotocopias local. Normalmente los usuarios preferir n la conveniencia reprografi a y durabilidad de una copia adecuadamente empastada. Department of Mathematics University of Florida Gainesville, FL 32611 sigmon@math.ufl.edu sigmon@ufpine.bitnet

Introduccion

MATLAB es un sistema interactivo basado en matrices para c lculos cient cos y de a


ingenier a. Se pueden resolver problemas num ricos relativamente complejos sin escribir un
e programa en realidad. El nombre MATLAB es una abreviatura para MATrix LABoratory. El prop sito de estas notas es ayudar en la iniciaci n a MATLAB. La mejor forma de o o utilizarlas es poner manos a la obra. Se aconseja, en general, trabajar en el ordenador a la vez que se leen las notas, as como a experimentar libremente con ejemplos.
Se puede utilizar la ayuda de la instrucci n help para una informaci n m s detallada. o o a Despu s de entrar en MATLAB en la forma que se explica en la secci n 1, la instrucci n e o o help mostrar una lista de funciones para las que se puede obtener ayuda mientras se a o a o est trabajando; la instrucci n help nombre de funci n nos dar informaci n sobre una a o funci n espec ca. As , la instrucci n help eig, nos dar informaci n sobre la funci n o

o a o o eig, que calcula los autovalores de una matriz. Se pueden ver algunas de las capacidades de MATLAB usando la instrucci n demo. o El alcance y la potencia de MATLAB van m s all de lo que podemos ver en estas a a notas. En alg n momento puede desear una informaci n m s detallada. Es el momento u o a de consultar la gu a del usuario y la de referencia. La documentaci n que acompa~a a la
o n edici n para estudiantes de MATLAB es una fuente excelente. Pueden encontrarse copias o de la gu a del usuario en las salas de terminales o en las bibliotecas. Consulte a su instructor
o en su centro de c lculo acerca de d nde puede encontrarla en su instituci n. a o o MATLAB puede conseguirse para los siguientes entornos: Sun Apollo VAXstation HP workstation, VAX, MicroVAX, Gould, compatibles PC y AT, computadores 80386, Apple Macintosh, y varias m quinas en paralelo. Existe una edici n para estudiantes relativaa o mente barata publicada por Prentice Hall. La informaci n de estas notas vale generalmente o para todos los entornos. Aunque la introducci n est basada en la versi n 3.5 de MATLAB, es compatible con o a o la versi n 4.0 con las diferencias que se har n notar. Una nueva edici n de estas notas o a o basada en la versi n 4.0 est en preparaci n. o a o El archivo fuente para TEX y un archivo PostScript primer.ps de la ultima versi n en o ingl s de estas notas se pueden conseguir v a ftp an nimo en math.ufl.edu como el archivo e
o primer.tex en el directorio pub matlab. Si no dispone de acceso a ftp, puede obtenerse v a listserv enviando un mensaje por correo electr nico a listserv@math.ufl.edu con
o la unica l nea send matlab primer.tex. Tambi n puede obtenerse enviando la petici n
e o al autor en sigmon@math.ufl.edu. La ultima versi n en espa~ol tambi n est disponible o n e a all .
MATLAB est patentado por The MathWorks, Inc., Cochituate Place, 24 Prime Park a Way, Natick, MA 01760, 508653-1415, Fax: 508653-2997, Email: info@mathworks.com.
Copyright c 1989, 1992 by Kermit Sigmon 8-93

ii

Indice

P gina a 1. Acceso a MATLAB : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 2. Introducci n de matrices : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 o 3. Operaciones con matrices, operaciones a coordenadas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 4. Declaraciones, expresiones, variables; almacenamiento de sesiones : : : : : : : : : : : : : : : : : 3 5. Funciones para la construcci n de matrices : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 o 6. For, while, if | y relaciones : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 7. Funciones escalares : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 8. Funciones vectoriales : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 9. Funciones matriciales : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 10. Comandos de edici n de l nea y rellamada : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 o
11. Submatrices y notaci n de dos puntos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 o 12. Archivos .m : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 13. Cadenas de texto, mensajes de error, input : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 14. Tratamiento de archivos .m : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 15. Comparaci n de la e ciencia de algoritmos: ops y etime : : : : : : : : : : : : : : : : : : : : : : : : 13 o 16. Formato de salida : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 17. Hardcopy : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 18. Gr cos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 14 a 19. Consulta : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17

iii

1. Acceso a MATLAB.

Despu s de entrar a la mayor a de los sistemas, para acceder a MATLAB basta utilizar e
la instrucci n matlab y para salir, la instrucci n exit o quit. Por ejemplo si estamos en o o un PC, salvo que tengamos el programa en un directorio aparte, basta con escribir Podemos salir de l con la instrucci n: e o
quit C matlab

En sistemas que permiten procesos m ltiples, como el UNIX, ser conveniente, por u a razones que se ver n en la secci n 14, tener activos a la vez MATLAB y el editor local. Si a o se trabaja en una estaci n de trabajo con ventanas m ltiples ser deseable tener activos o u a MATLAB en una ventana y el editor en otra. Los detalles de la instalaci n local se pueden o obtener del centro de c lculo correspondiente, o consultando al instructor. a

2. Introducci n de matrices. o

MATLAB trabaja esencialmente con un solo tipo de objetos: una matriz num rica e rectangular con entradas posiblemente complejas; todas las variables representan matrices. A veces, las matrices 1  1 se consideran escalares, y las matrices con una sola la o columna se consideran como vectores. Hay varias formas diferentes para introducir una matriz en MATLAB. A saber: Introduciendo una lista expl cita de elementos,
Gener ndola mediante funciones y declaraciones, a Cre ndola en un archivo .m ver secciones 12 y 14, a Carg ndola de un archivo de datos externo ver Gu a del usuario. a
Por ejemplo, cualquiera de las declaraciones y
A = A 1 4 7 = 2 3 5 6 8 9 1 2 3; 4 5 6; 7 8 9

crea la matriz 3  3 que se espera y la asigna a una variable A. Int ntelo. Los elementos e en una la de una matriz pueden separarse tanto por comas como por espacios en blanco. Cuando alguno de los n meros se escribe en forma exponencial por ejemplo 2.34e-9, u deben evitarse los espacios en blanco. La escritura de una matriz grande debe hacerse preferentemente en un archivo .m, donde es m s sencillo corregir errores ver secciones 12 a y 14. Las funciones internas rand, magic, y hilb, por ejemplo, proporcionan una forma sencilla para crear matrices con las que experimentar. La instrucci n randn, resp. o randm,n, crear una matriz n  n, resp. m  n, con entradas aleatoriamente generadas, a 1

distribuidas uniformemente entre 0 y 1. magicn crear una matriz cuadrada m gica a a las las y las columnas suman la misma cantidad con entradas enteras; hilbn crear a la matriz de Hilbert de orden n, la reina de las matrices mal condicionadas. m y n, por supuesto, denotan enteros positivos. Tambi n se pueden crear matrices utilizando bucles e for ver secci n 6. Int ntelo. o e Las entradas individuales de una matriz o de un vector se pueden obtener poniendo los ndices entre par ntesis de la forma usual. Por ejemplo, A2; 3 denota la entrada en
e la segunda la y tercera columna de la matriz A y x3 denota la tercera coordenada del vector x. Int ntelo. S lo se pueden usar como ndices de vectores y de matrices enteros e o
positivos.

3. Operaciones con matrices, operaciones a coordenadas.


+

Disponemos en MATLAB de las siguientes operaciones con matrices:

, 
0
b

adici n o sustracci n o multiplicaci n o potenciaci n o traspuesta divisi n izquierda o divisi n derecha o

Estas operaciones para matrices se aplican tambi n a escalares matrices 11. Si los e tama~os de las matrices son incompatibles para la operaci n matricial se obtiene un mensaje n o de error, exceptuando el caso en que uno de los operandos sea un escalar y el otro una matriz para la adici n, sustracci n, divisi n y multiplicaci n. En esta situaci n se opera o o o o o el escalar con cada t rmino de la matriz. e La divisi n matricial" merece un comentario especial. Si A es una matriz invertible y o b es una columna, resp. la, compatible, entonces x = Anb es la soluci n de A  x = b y, resp., o x = b=A es la soluci n de x  A = b. o En la divisi n izquierda, si A es cuadrada, se factoriza utilizando eliminaci n gaussiana. o o Con los factores se resuelve A  x = b. Si la matriz A no es cuadrada, se factoriza utilizando la ortogonalizaci n de Householder con pivoteo de columnas. Con los factores se resuelve o el sistema indeterminado o sobredeterminado en el sentido de los m nimos cuadrados. La
divisi n derecha se de ne a partir de la izquierda por b=A = A0 nb00 . o Operaciones a coordenadas. Las operaciones de adici n y sustracci n operan o o intr nsecamente a coordenadas pero las otras operaciones matriciales dadas antes no: Son
operaciones matriciales. Es importante observar que para estas otras operaciones, , b , n, y , puede hacerse que operen a coordenadas precediendolas de un punto. Por ejemplo, tanto 1,2,3,4 .* 1,2,3,4 como 1,2,3,4 .b 2 dar n 1,4,9,16 . Int ntelo. Esto es a e particularmente util cuando se utilizan los gr cos de MATLAB. a 2

MATLAB es un lenguaje de expresiones; las expresiones que se escriben son interpretadas y evaluadas. Las instrucciones de MATLAB son, normalmente, de la forma variable = expresi n, o simplemente o expresi n o Las expresiones se componen, usualmente, a partir de operadores, funciones y nombres de variables. La evaluaci n de una expresi n produce una matriz, que se muestra en pantalla, o o y se asigna a la variable para su posterior uso. Si se omiten la variable y el signo =, se crea una variable llamada ans por answer a la que se asigna el resultado de la expresi n. o Una instrucci n termina, normalmente, con el retorno de carro. Si se desea continuar o una expresi n en la l nea siguiente, basta escribir tres o m s puntos antes del retorno o
a de carro. Si por el contrario, deseamos escribir varias instrucciones en una misma l nea,
podemos hacerlo separandolas por comas o puntos y comas. Si el ultimo car cter de una instrucci n es un punto y coma el resultado no se mostrar a o a en pantalla, aunque por supuesto se realizar la asignaci n. Esto es esencial para evitar a o p rdidas de tiempo al mostrar los resultados intermedios. e MATLAB distingue las letras may sculas de las min sculas en los nombres de instrucu u ciones, funciones y variables. As , resolvente no es lo mismo que ReSoLvEnTe.
La instrucci n who muestra las variables que se encuentran en el espacio de trabajo. o Para eliminar una variable de la memoria se utiliza la instrucci n clear nombre variable. o Si se escribe s lo clear se borran todas las variables no permanentes. o La variable permanente eps  psilon da la precisi n de la m quina|alrededor de 10,16 e o a en la mayor a de ellas. Es util para determinar la tolerancia en procesos iterativos.
Cualquier tipo de c lculo, gr co, o impresi n puede detenerse sin salir del programa a a o con CTRL-C CTRL-BREAK en PC. Almacenamiento de sesiones. Cuando salimos de MATLAB se pierden todas las variables. Para evitarlo se puede utilizar la instrucci n save antes de salir. Esto hace o que las variables se almacenen en el archivo de disco matlab.mat. Al acceder de nuevo a MATLAB, se pueden recuperar todas las variables con la instrucci n load. o

4. Declaraciones, expresiones y variables; almacenamiento de una sesi n. o

5. Funciones para la construcci n de matrices. o

Las siguientes funciones est n disponibles en MATLAB: a eye matriz identidad zeros matriz de ceros ones matriz de unos diag ver m s adelante a triu parte triangular superior de una matriz tril parte triangular inferior de una matriz rand matriz generada aleatoriamente hilb matriz de Hilbert magic matriz m gica a toeplitz ver help toeplitz 3

Por ejemplo, zerosm,n produce una matriz nula m  n, y zerosn produce otra cuadrada de orden n; si A es una matriz, entonces zerosA produce una matriz de ceros del mismo orden que A. Si x es un vector, diagx es la matriz diagonal con x en su diagonal; si A es una matriz cuadrada, diagA es un vector formado por la diagonal de A. Qu ser entonces e a diagdiagA? Int ntelo. e Las matrices se pueden construir por bloques. Por ejemplo, si A es 3  3, entonces dar una cierta matriz 5  5. Int ntelo. a e
B = A, zeros3,2; zeros2,3, eye2

6. For, while, if | y relaciones.

B sicamente, las instrucciones para el control de ujo de MATLAB operan como en la a mayor parte de los lenguajes usuales. for. Por ejemplo, las instrucciones x = ; for i = 1:n, x= x,ib 2 , end o
x = ; for i = 1:n x = x,ib end

dar n como resultado un cierto vector mientras que a x = ; for i = n:-1:1, x= x,ib 2 , end dar el mismo vector en orden inverso. Pruebe con ellas. Las instrucciones a
for i = 1:m for j = 1:n Hi, j = 1 i+j-1; end end H

producir n e imprimir n en pantalla la matriz de Hilbert m  n. El punto y coma de la a a instrucci n interior suprime la impresi n no deseada de los resultados intermedios mientras o o que el ultimo H muestra el resultado nal. while. La forma general de un bucle while es while relaci n o instrucciones Las instrucciones se repetir n mientras la relaci n sea cierta. Por ejemplo, dado un n mero a o u a, las instrucciones siguientes calculan y muestran el menor entero no negativo n tal que 2n  a: 4
end

if. La forma general de un bucle if simple es


if

n = 0; while 2b n a n = n + 1; end n

Las instrucciones se ejecutar n s lo si la relaci n es cierta. Tambi n son posibles las a o o e rami caciones m ltiples, como se ilustra con u
if n 0 paridad = 0; elseif remn,2 == 0 paridad = 2; else paridad = 1; end

end

relaci n o instrucciones

Si s lo tenemos dos rami caciones podemos omitir, desde luego, la porci n correspondiente o o a elseif. Relaciones. Los operadores relacionales en MATLAB son menor que mayor que = menor o igual que = mayor o igual que == igual = no igual. Hagamos notar que se usa =" en las asignaciones mientras que para las relaciones se usa ==". Las relaciones pueden conectarse o cuanti carse por los operadores l gicos o & y j o  no. Cuando se aplican a escalares, una relaci n es realmente el escalar 1 o 0 dependiendo o de si la relaci n es verdadera o falsa: Pruebe con 3 5, 3 5, 3 == 5 y 3 == 3. Cuando o se aplica a matrices del mismo orden, una relaci n entre ellas da lugar a una matriz de o ceros y unos, dando el valor de la relaci n entre las correspondientes entradas. Pruebe con o a = rand5, b = triua, a == b. Cuando se utiliza una relaci n entre matrices en un bucle while o if, la relaci n se o o entiende verdadera si cada una de las entradas de la matriz de relaci n es no nula. Por o tanto, si se quiere ejecutar algo cuando las matrices A y B sean iguales, se puede escribir: 5

if A == B end

algo

pero si se desea ejecutar la misma instrucci n si A y B son distintas, hay que recurrir a: o
if anyanyA end

algo

=

B

o, m s simplemente, a
if A == B else end

algo

Recalcamos que la aparentemente obvia if A = B, algo, end no har lo que deseamos ya que la instrucci n s lo se ejecutar si todas las entradas de a o o a A son distintas de las de B . Las funciones any y all pueden utilizarse de forma creativa para reducir relaciones entre matrices a relaciones entre vectores y escalares. Se requieren dos anys en el ejemplo anterior ya que any es un operador vectorial ver secci n 8. o La instrucci n for permite usar cualquier matriz en vez de 1:n. Ver la Gu a del usuario o
para los detalles de c mo esta posibilidad ampl a la potencia de la instrucci n for. o
o

7. Funciones escalares.
sin cos tan

Algunas funciones de MATLAB operan esencialmente sobre escalares, aunque lo hacen tambi n sobre matrices elemento a elemento. Las funciones m s comunes entre estas son: e a asin acos atan exp log natural rem resto abs sqrt sign round oor ceil

8. Funciones vectoriales.

Otras funciones de MATLAB operan fundamentalmente sobre vectores  la o columna, aunque tambi n pueden operar sobre matrices m  n m  2 haciendolo en este caso e columna a columna, produciendo, por tanto, un vector la que contiene el resultado de su aplicaci n a cada columna. Para conseguir que act en por las basta usar la traspuesta; o u por ejemplo, meanA''. Veamos algunas de estas funciones: max min sort sum prod median mean std any all

Por ejemplo, la entrada m xima de un matriz A se obtiene con maxmaxA en vez de a maxA. Int ntelo. e 6

9. Funciones matriciales.

Las funciones matriciales m s utiles de MATLAB son las siguientes: a eig autovalores y autovectores chol factorizaci n de Cholesky o svd descomposici n en valores singulares o inv inversa lu factorizaci n LU o qr factorizaci n QR o hess forma de Hessenberg schur descomposici n de Schur o rref forma escalonada reducida por las expm matriz exponencial sqrtm matriz ra z cuadrada
poly polinomio caracter stico
det determinante size tama~o n norm norma 1, norma 2, norma de Frobenius, norma 1 cond n mero de condici n en la norma 2 u o rank rango

Las funciones de MATLAB admiten argumentos de salida simples o m ltiples. Por ejemplo, u y = eigA, o simplemente eigA genera un vector columna conteniendo los autovalores de A mientras que produce una matriz U cuyas columnas son los autovectores de A y una matriz diagonal D con los autovalores de A en su diagonal. Pruebe.
U,D = eigA

10. Comandos de edici n de l nea y rellamada. o

Es f cil editar la l nea de comandos en MATLAB. El cursor se posiciona con las echas a
izquierda derecha mientras que para borrar caracteres pueden usarse las teclas Retroceso o Suprime. Tambi n son accesibles otras posibilidades de edici n. En un PC pruebe con e o las teclas Inicio, Fin, y Suprime; en otros sistemas ver help cedit o type cedit. Una posibilidad muy util es usar las echas arriba abajo para recuperar los comandos previos. Se puede, por tanto, recuperar una l nea de comandos previa, editarla, y ejecutarla
revisada. Para peque~as rutinas, esto es m s conveniente que usar un archivo .m lo que n a requiere moverse entre MATLAB y el editor ver secciones 12 y 14. Por ejemplo, el n mero de operaciones ver secci n 15 para el c lculo de la inversa de matrices de varios u o a tama~os podr a ser comparado recuperando, editando y ejecutando repetidamente: n
Si se desea comparar las gr cas de las funciones y = senmx y y = cos nx en el intervalo a 0; 2 para varios m y n, se podr a hacer lo mismo con la l nea de comandos:

m=2; n=3; x=0:.01:2*pi; y=sinm*x; z=cosn*x; plotx,y,x,z a = rand8; flops0, inva; flops

11. Submatrices y notaci n de dos puntos. o

Los vectores y submatrices son utilizados a menudo en MATLAB para conseguir efectos de manipulaci n bastante complejos. La notaci n de dos puntos" que se utiliza para o o generar vectores y submatrices, y la indexaci n por vectores son las llaves para una manio pulaci n e ciente de estos objetos. Su uso de forma creativa permite minimizar el n mero o u de bucles que enlentecen a MATLAB y hacen que las instrucciones sean m s simples y a legibles. Debe hacerse un esfuerzo especial para familiarizarse con esta notaci n. o La expresi n 1:5 que ya encontramos en los bucles for es realmente un vector la: o el 1 2 3 4 5 . Los n meros no tienen que ser enteros ni el incremento uno. Por ejemplo, u da como resultado 0.2 0.4 0.6 0.8 1.0 1.2 , mientras que con 5:-1:1 se obtiene el vector 5 4 3 2 1 . Las siguientes instrucciones, por ejemplo, generar n una tabla de senos. Pruebe. a
x = 0.0:0.1:2.0 0 ; y = sinx; x y 0.2:0.2:1.2

Hagamos notar que al operar sin a coordenadas, produce un vector y a partir de x. La notaci n de dos puntos permite acceder a submatrices. Por ejemplo, A1:4,3 es o el vector columna con las cuatro primeras entradas de la tercera columna de A. Dos puntos sin m s especi caci n denotan una la o columna completa: a o A:,3 es la tercera columna de A, y A1:4,: son las cuatro primeras las. Se pueden usar como ndices vectores enteros arbitrarios:
A:, 2 4  est formada por las columnas segunda y cuarta de A. a Estos ndices se pueden usar a ambos lados de una instrucci n de asignaci n:
o o A:, 2 4 5  = B:,1:3 reemplaza las columnas 2, 4 y 5 de A por las tres primeras de B . Se muestra y asigna la matriz A alterada completa. Pruebe. Las columnas 2 y 4 de A pueden multiplicarse por la derecha por una matriz 2  2: De nuevo se muestra y se asigna la matriz completa. Si denotamos por x un vector con n componentes, cu l es el efecto de la instrucci n x a o = xn:-1:1? Haga la prueba. Para comprobar la utilidad de esta notaci n, comparar estas instrucciones de MATLAB o con una rutina de Pascal, FORTRAN, o C que d los mismos resultados. e
A:, 2,4  = A:, 2,4 * 1 2;3 4

12. Archivos .m.

MATLAB puede ejecutar una sucesi n de instrucciones almacenadas en archivos de o disco. Estos archivos se denominan archivos .m", debido a que su su jo debe ser m". Gran parte del trabajo con MATLAB ser el de crear y re nar archivos .m. a Hay dos tipos de archivos .m: archivos de instrucciones y archivos de funciones. 8

instrucciones normales de MATLAB. Si tuvi ramos un archivo denominado nombre.m, las e instrucciones del archivo pueden ser ejecutadas sin m s que escribir la instrucci n nombre. a o Las variables en un archivo de instrucciones son globales y, por tanto, cambiar n los valores a del espacio de trabajo. Los archivos de instrucciones son utilizados a menudo para introducir datos en una matriz grande. En un archivo de este tipo es bastante sencillo corregir los errores sin tener que repetir todo el trabajo. Si, por ejemplo, se escribe en el archivo datos.m
A = 1 2 3 4 5 6 7 8 ;

Archivos de instrucciones. Un archivo de instrucciones consiste en una sucesi n de o

entonces la instrucci n de MATLAB datos har que se efect e la asignaci n especi cada o a u o en datos.m. Un archivo .m puede hacer referencia a otros, incluyendo a l mismo. e Archivos de funciones. Los archivos de funciones hacen que MATLAB tenga capacidad de crecimiento. Se pueden crear funciones espec cas para un problema concreto,
y, a partir de su introducci n, tendr n el mismo rango que las dem s funciones del sistema. o a a Las variables en las funciones son locales. La versi n 4.0 permite declarar una variable o como global. Veremos, en primer lugar, un ejemplo sencillo de archivo de funci n: o
function a = entalm,n ENTAL Matriz entera generada aleatoriamente.  entalm,n produce una matriz mxn con entradas  enteras entre 0 y 9 a = floor10*randm,n;

Una versi n m s general de esta funci n es la siguiente: o a o


function a = entalm,n,a,b ENTAL Matriz entera generada aleatoriamente.  entalm,n produce una matriz mxn con entradas  enteras entre 0 y 9  entalm,n,a,b produce las entradas de la matriz entre a y b. if nargin 3, a = 0; b = 9; end a = floorb-a+1*randm,n+a;

Esto debe escribirse en el archivo ental.m correspondiente al nombre de la funci n. La o primera l nea declara el nombre de la funci n, argumentos de entrada, y argumentos de
o salida; sin esta l nea el archivo ser a uno de instrucciones. La instrucci n z = ental4,5,

o por ejemplo, har que los n meros 4 y 5 pasen a las variables m y n en el archivo de funci n a u o y el resultado se asigna a la variable z. Como las variables en un archivo de funci n son o locales, sus nombres son independientes de los que se encuentren en el espacio de trabajo. Hagamos notar que el uso de nargin  n mero de argumentos de entrada" permite u asignar un valor por defecto a una variable que se omita|como a y b en el ejemplo. 9

Una funci n puede tener tambi n argumentos de salida m ltiples. Por ejemplo: o e u
function media, desv = estadx  ESTAD Media y desviaci n t pica. Para un vector x, o
 estadx da la media y la desviaci n t pica de x. o
 Para una matriz x, estadx da dos vectores fila conteniendo,  resp., la media y la desviaci n t pica de cada columna. o
m n = sizex; if m == 1 m = n;  caso de un vector fila end media = sumx m; desv = sqrtsumx.b  m - media.b 

2 2 Una vez situado en el archivo de disco estad.m, la instruci n de MATLAB xm, xd = o estadx, por ejemplo, asignar la media y la desviaci n t pica de x a las variables xm y a o
xd, respectivamente. Cuando se dispone de una funci n con argumento de salida m ltiple, o u se pueden efectuar asignaciones simples. Por ejemplo, xm = estadx no son necesarios los corchetes alrededor de xm asignar la media de x a xm. a El s mbolo  indica que el resto de la l nea es un comentario; MATLAB ignorar el resto

a de la l nea. Las primeras l neas de comentario, que documentan el archivo, son accesibles

con la instrucci n help. As , para que se muestren en pantalla basta escribir help estad. o
Dicha documentaci n debe incluirse siempre en un archivo de funci n. o o Esta funci n ilustra algunas de las formas en que MATLAB puede usarse para obtener o un c digo e ciente. Hagamos notar, por ejemplo, que x.b 2 es la matriz de los cuadrados o de las entradas de x, que sum es una funci n vectorial secci n 8, que sqrt es una funci n o o o escalar secci n 7, y que la divisi n en sumx m opera una matriz con un escalar. o o La siguiente funci n, que da el m ximo com n divisor de dos enteros v a el algoritmo o a u
de Euclides, ilustra el uso de un mensaje de error ver secci n siguiente. o
function a = mcda,b  MCD M ximo com n divisor a u  mcda,b es el m ximo com n divisor de a y b no nulos a la vez. a u a = roundabsa; b = roundabsb; if a == 0 & b == 0 error'El mcd no est definido cuando ambos n meros son nulos' a u else while b = 0 r = rema,b; a = b; b = r; end end

Algunas posibilidades m s avanzadas se ilustran con la siguiente funci n. Como hicimos a o notar antes, alguna de las entradas de la funci n|como tol en el ejemplo siguiente, puede o hacerse opcional mediante el uso de nargin  n mero de argumentos de entrada". La u variable nargout puede usarse de forma similar. Hagamos notar que el hecho de que una 10

relaci n es un n mero 1 cuando es cierta; 0 cuando es falsa es usado, y que, cuando while o u o if eval an una relaci n, no cero" signi ca cierto" y 0 signi ca falso". Finalmente, u o la funci n de MATLAB feval permite tener como variable de entrada una cadena que d o e nombre a otra funci n o
function b, pasos = biseccfun, x, tol BISECC Cero de una funci n de una variable por bisecci n. o o  biseccfun,x produce un cero de la funci n. fun es una cadena o  conteniendo el nombre de una funci n real de una variable real; o  normalmente las funciones est n definidas en archivos .m. a  x es el punto inicial. El valor producido est cerca de un a  punto donde la funci n cambia de signo. Por ejemplo, o  bisecc'sin',3 es pi. N tense las comillas alrededor de sin. o   Un tercer argumento de entrada opcional fija la tolerancia  para la precisi n relativa del resultado. El valor por defecto o  es eps. Un argumento de salida opcional produce una matriz  con las iteraciones; sus filas son de la forma c, fc .  Inicializaci n o if nargin 3, tol = eps; end traza = nargout == 2; if x = 0, dx = x 20; else, dx = 1 20; end a = x - dx; fa = fevalfun,a; b = x + dx; fb = fevalfun,b;

 Encontrar un cambio de signo. while fa 0 == fb 0 dx = 2.0*dx; a = x - dx; fa = fevalfun,a; if fa 0 = fb 0, break, end b = x + dx; fb = fevalfun,b; end if traza, pasos = a fa; b fb ; end

 Bucle Principal while absb - a 2.0*tol*maxabsb,1.0 c = a + 0.5*b - a; fc = fevalfun,c; if traza, pasos = pasos; c fc ; end if fb 0 == fc 0 b = c; fb = fc; else a = c; fa = fc; end end

11

Algunas de las funciones de MATLAB son internas mientras que otras se distribuyen como archivos .m. El listado de cualquier archivo .m|de MATLAB o del usuario|puede o obtenerse con la instrucci n de MATLAB type nombre de funci n. Pruebe con type eig, o type vander, y type rank.

13. Cadenas de texto, mensajes de error, input.


s = 'Esto es una prueba'

Las cadenas de texto se introducen en MATLAB entre comillas simples. Por ejemplo,

asigna la cadena de texto dada a la variable s. Las cadenas de texto pueden mostrarse con la funci n disp. Por ejemplo: o Los mensajes de error se muestran mejor con la funci n error o ya que sta hace que la ejecuci n salga del archivo .m. e o En un archivo .m el usuario puede ser avisado para introducir datos interactivamente con la funci n input. Si MATLAB se encuentra, por ejemplo, con la instrucci n o o la cadena entre comillas se muestra y la ejecuci n se detiene mientras el usuario introduce o los datos. Tras pulsar el retorno de carro los datos se asignan a la variable iter y contin a u la ejecuci n. o
iter = input'Introduzca el n mero de iteraciones: u ' error'Lo siento, la matriz debe ser sim trica' e disp'Este mensaje se est mostrando aqu ' a

14. Tratamiento de archivos .m.

Mientras se usa MATLAB se necesita usualmente crear o editar un archivo .m y regresar a MATLAB. Ser a deseable mantener MATLAB activo mientras se edita un archivo pues,
en caso contrario, se perder an todas las variables tras salir.
Esto puede hacerse f cilmente con el signo !. Si, estando en MATLAB, escribe una a instrucci n del sistema operativo |como las que se usan para editar, imprimir y copiar o un archivo| precedida del signo !, se ejecuta la instrucci n sin salir de MATLAB. Si por o ejemplo, la instrucci n del sistema operativo ed accede al editor, la instrucci n de MATLAB o o le permitir editar el archivo nombre.m usando su editor local. Tras dejar el editor, rea tornar a MATLAB, justo donde se dej . a o Como se hizo notar en la secci n 1, en sistemas que permiten procesos m ltiples, como o u los que admiten Unix, podr a ser preferible mantener activos a la vez MATLAB y el editor
local, manteniendo un proceso en suspenso mientras se trabaja con el otro. Si los procesos pueden mantenerse en ventanas m ltiples, como en una estaci n de trabajo Sun, puede u o desear mantener activos MATLAB en una ventana y el editor en otra. Puede consultar a su instructor o en su centro de c lculo local para los detalles de la a instalaci n local. o La versi n 4.0 dispone de varias herramientas de rastreo. Ver help dbtype y las o referencias que se dan all .
12
!ed nombre.m

Estando en MATLAB, la instrucci n dir mostrar los contenidos del directorio activo o a mientras que what mostrar s lo los archivos .m en el directorio. Las instrucciones delete a o y type sirven para borrar un archivo de disco e imprimirlo en pantalla, respectivamente, y chdir para cambiar el directorio de trabajo. Aunque estas instrucciones re ejan las del sistema operativo, evitan el uso de !. Los archivos .m deben ser accesibles a MATLAB. En la mayor a de los sistemas o
instalaciones en red, los archivos .m personales que se almacenan en un subdirectorio del directorio ra z denominado matlab ser n accessibles para MATLAB desde cualquier
a directorio en el que se trabaje. Ver la discusi n de MATLABPATH, en la Gu a del usuario, o
para m s informaci n. a o

15. Comparaci n de la e ciencia de algoritmos: ops y etime. o

Dos medidas de la e ciencia de un algoritmo son el n mero de operaciones realizadas u y el tiempo gastado. La funci n flops es un contador de las operaciones realizadas. La instrucci n flops0 o o no flops=0! inicializa el contador a 0. Por tanto si usamos flops0 inmediatamente antes de ejecutar un algoritmo, la instrucci n flops situada justo al nal nos dar el o a n mero de operaciones que se han efectuado en su ejecuci n. u o La funci n clock da la hora actual aproximada hasta la cent sima de segundo ver help o e clock. Dados dos tiempos t1 y t2, etimet2,t1 proporciona el tiempo transcurrido de t1 a t2. Se puede, por ejemplo, medir el tiempo que requiere la resoluci n de un sistema o de ecuaciones dado Ax = b usando eliminaci n gaussiana como sigue: o Puede desear comparar ste |y la cuenta flop| con los valores que se obtienen usando e x = invA*b;. Int ntelo. e Hagamos notar que, en m quinas que operan a tiempo compartido, etime no es una a medida able de la e ciencia de un algoritmo ya que la velocidad de ejecuci n depende de o lo ocupada que est la m quina en un momento determinado. e a
tiempo = clock; x = A b; tiempo = etimeclock,tiempo

16. Formato de salida.


format format format format

Aunque todos los c lculos en MATLAB se efect an en doble precisi n, el formato de a u o la salida en pantalla puede ser controlado con las siguientes instrucciones.
short long short e long e

coma ja con 4 decimales el defecto coma ja con 14 decimales notaci n cient ca con 4 decimales o
notaci n cient ca con 15 decimales o

Una vez que se ordena un formato, se mantiene hasta que se ordena un cambio. La orden format compact evitar la mayor parte de las l neas en blanco, con lo que se a
puede mostrar m s informaci n en pantalla. Es independiente de las dem s instrucciones a o a de formato. 13

La forma m s sencilla de obtener una hardcopy1 es con la instrucci n diary. La orden a o diary nombre de archivo hace que todo lo que aparezca a continuaci n en pantalla excepto los gr cos sea escrito o a en el archivo nombre de archivo si se omite el nombre se toma por defecto diary hasta que se ordena diary off; la instrucci n diary on har que se escriba al nal del archivo, o a etc. Al terminar, se puede editar el archivo como se desee e imprimirlo en el sistema local. Todo se puede hacer sin salir de MATLAB usando el signo ! ver secci n 14. o

17. Hardcopy.

18. Gr cos. a

MATLAB puede producir gr cos planos y gr cos de malla de super cies tridimena a sionales. Para ver algunas de sus posibilidades en la versi n 3.5, escriba plotdemo. o Gr cos planos. La instrucci n plot crea gr cos en el plano XY; si x e y son a o a vectores de la misma longitud, la orden plotx,y accede a la pantalla gr ca y realiza un a gr co plano de los elementos de x contra los elementos de y. Por ejemplo, podemos dibujar a la gr ca de la funci n seno sobre el intervalo ,4; 4 con las instrucciones siguientes: a o Int ntelo. El vector x es una partici n del dominio con paso 0.01 mientras que y es un e o vector sin es vectorial con los valores que toma el seno en los nodos de esta partici n. o Para volver a la pantalla alfanum rica desde la gr ca, se pulsa cualquier tecla. Por e a el contrario, para acceder a la pantalla gr ca, se usa la orden shg show graph. Si su a m quina soporta ventanas m ltiples con una ventana gr ca aparte, puede desear mantener a u a la ventana gr ca expuesta |aunque a un lado| y la ventana alfanum rica activa. a e ,x2 sobre el intervalo Como un segundo ejemplo, puede dibujar la gr ca de y = e a ,1:5; 1:5 como sigue: Hagamos notar que b est precedido por un punto para asegurarnos que opera a coordea nadas ver secci n 3. o Pueden hacerse tambi n gr cos de curvas de nidas param tricamente. Por ejemplo, e a e
t=0:.001:2*pi; x=cos3*t; y=sin2*t; plotx,y x = -1.5:.01:1.5; y = exp-x.b 2; plotx,y x = -4:.01:4; y = sinx; plotx,y

La instrucci n grid har un cuadriculado en el gr co actual. o a a Pueden ponerse t tulos, comentarios en los ejes o en cualquier otra parte con los si
guientes comandos que tienen una cadena como argumento: title t tulo del gr co
a xlabel comentario en el eje x ylabel comentario en el eje y gtext texto posicionado interactivamente text texto posicionado mediante coordenadas Por ejemplo, la instrucci n o
1 Una copia por impresora o en un archivo de disco.

14

proporciona un t tulo al gr co. El comando gtext'La mancha' permite posicionar una


a cruz en el gr co con las echas o el rat n, donde se situar el texto cuando se pulse a o a cualquier tecla. Por defecto, los ejes se autoescalan. Para evitarlo se usa el comando axis. Si c = xmin ; xmax ; ymin ; ymax es un vector con 4 elementos, entonces axisc establece el escalado de ejes a los l mites prescritos. axis, por s mismo congela el escalado actual para

gr cos subsecuentes; Escribiendo axis de nuevo volvemos al autoescalado. El comando a axis'square' asegura que se use la misma escala en ambos ejes. En la versi n 4.0, o axis ha sido cambiada signi cativamente; ver help axis. Dos formas de obtener dibujos m ltiples se ilustran con u y formando una matriz Y conteniendo los valores funcionales como columnas
x=0:.01:2*pi;y1=sinx;y2=sin2*x;y3=sin4*x;plotx,y1,x,y2,x,y3 x=0:.01:2*pi; Y= sinx', sin2*x', sin4*x' ; plotx,Y

title'La funci n m s bella' o a

Otra forma es con hold. El comando hold congela la pantalla gr ca actual de forma que a los gr cos posteriores se sobreimponen en ella. Escribiendo hold de nuevo se libera el a hold." Los comandos hold on y hold off tambi n est n disponibles en la versi n 4.0. e a o Se pueden evitar los tipos de l nea y de punto por defecto. Por ejemplo,
produce l neas a trazos y de puntos para las dos primeras, mientras que para la tercera se
obtiene el s mbolo + en cada nodo. Los tipos de l neas y de puntos son:

Tipos de l nea: s lido -, a trazos --. puntos :, punto y trazo -.
o Tipos de puntos: punto ., m s +, estrella *, c rculo o, equis x a
Ver help plot para los colores de las l neas y puntos.
El comando subplot se usa para dividir la pantalla de forma que puedan verse hasta cuatro gr cos a la vez. Ver help subplot. a Graphics hardcopy. La forma m s sencilla de obtener una hardcopy de la pantalla a gr ca es usar el comando de MATLAB print. Este enviar una copia en alta resoluci n a a o de la pantalla gr ca actual a la impresora, situando el gr co en la mitad superior de la a a p gina. a En la versi n 4.0 los comandos meta y gpp que se describen a continuaci n han sido o o absorbidos por el comando print. Ver help print. Producir una copia uni cada de varios dibujos requiere m s esfuerzo. El comando de a a MATLAB meta nombre de archivo almacena la pantalla gr ca en un archivo denominado nombre de archivo.met un metaarchivo" en el directorio actual. Posteriores meta sin nombre a~adir n las nuevas pantallas gr cas al archivo meta anterior. Este metaarchivo n a a estudiantes de Matlab. En ella la unica forma de obtener una copia por impresora es mediante un volcado de pantalla: Shift-PrtScr. 15
 Las utilidades descritas en esta subsecci n no est n disponibles en la edici n para o a o
x=0:.01:2*pi; y1=sinx; y2=sin2*x; y3=sin4*x; plotx,y1,'--',x,y2,':',x,y3,'+'

|que puede contener ahora varios dibujos| puede ser procesado posteriormente con el programa procesador de gr cos GPP para obtener una hardcopy de alta resoluci n, con a o dos dibujos por p gina. a El programa GPP graphics post-processor es un comando de sistema, no un comando de MATLAB. Desde luego, en la pr ctica se invoca desde MATLAB con la ayuda del signo a !" ver secci n 14. Act a sobre un archivo independiente de dispositivo metaarchivo o u para producir un chero de salida apropiado para varios dispositivos de harcopy diferentes. La selecci n del dispositivo espec co se hace con la opci n " d". Por ejemplo, los o
o comandos del sistema producir n archivos nombre de archivo.ps y nombre de archivo.jet apropiados para su a impresi n en, respectivamente, impresoras PostScript y HP LaserJet. Pueden imprimirse o con el comando usual para los sistemas locales|por ejemplo, lpr nombre de archivo.ps en un sistema UNIX. Si se escribe el comando de sistema gpp sin argumentos se obtiene una lista de los dispositivos que soporta. En un PC, la mayor parte de este trabajo puede automatizarse editando apropiadamente el archivo gpp.bat distribuido con MATLAB. Gr cos de malla de super cies tridimensionales. Los gr cos de malla de a a super cies tridimensionales se hacen con la funci n mesh. La instrucci n meshz crea un o o gr co tridimensional en perspectiva de la matriz z. La super cie de malla est de nida a a por las coordenadas z de los puntos sobre un cuadriculado rectangular en el plano XY. Por ejemplo, pruebe con mesheye10. Para dibujar la gr ca de una funci n z = f x; y sobre un rect ngulo, se de nen en a o a primer lugar los vectores xx e yy que dan particiones de los lados del rect ngulo. Con a la funci n meshdom mesh domain; el nombre es meshgrid en la versi n 4.0 se crea una o o matriz x, en la que cada la es igual a xx, y de igual forma una matriz y, con todas sus columnas iguales a yy, como sigue: Entonces se computa la matriz z, obtenida evaluando f entrada a entrada sobre las matrices x e y, para aplicarle la funci n mesh. o Se puede, por ejemplo, dibujar la gr ca de z = e,x2 ,y2 sobre el cuadrado ,2; 2  a ,2; 2 como sigue int ntelo: e
xx = -2:.1:2; yy = xx; x,y = meshdomxx,yy; z = exp-x.b 2 - y.b 2; meshz x,y x,y = meshdomxx,yy; gpp nombre de archivo gpp nombre de archivo dps djet

Se podr a, desde luego, cambiar las tres primeras l neas en lo anterior por

Para m s detalles sobre mesh, ver la Gu a del usuario. a
En la versi n 4.0, se han ampliado considerablemente las posibilidades gr cas respecto o a a las super cies tridimensionales. Consulte la ayuda para plot3, mesh, y surf. 16
= meshdom-2:.1:2, -2:.1:2;

19. Consulta.

Hay muchas caracter sticas de MATLAB que no pueden incluirse en estas notas intro
ductorias. Mostraremos a continuaci n algunas de las funciones disponibles en MATLAB, o agrupadas por reas1 . Use la instrucci n help o consulte la Gu a del usuario para una a o
informaci n m s detallada sobre las funciones. o a Hay muchas funciones aparte de estas. Existen, en particular, varias cajas de herramientas" de funciones para reas espec cas; entre ellas, las de proceso de se~ales, teor a a
n
de control, control robusto, identi caci n de sistemas, optimizaci n, splines, quimiometr a, o o
-an lisis y s ntesis, identi caci n, y redes neurales2 . Para explorar siempre se puede usar a
o la instrucci n help. o
help demo who what size length clear computer ^C exit quit + suma
ayuda demostraciones muestra variables en memoria muestra archivos .m en el disco n mero de las y columnas u longitud de un vector limpia el espacio de trabajo tipo de computadora interrupci n local o salida de MATLAB lo mismo que exit
Operadores puntuales General

Operadores matriciales

,  n
'
b

resta multiplicaci n o divisi n derecha o divisi n izquierda o potenciaci n o conjugada traspuesta

, .

. .n .b .'

suma resta multiplicaci n o divisi n derecha o divisi n izquierda o potenciaci n o traspuesta

Operadores Logicos y Relacionales

= = == =

menor que menor o igual que mayor que mayor o igual que igual no igual

& y

j 

o no

1 Fuente: MATLAB User's Guide, versi n 3.5. o 2 Las cajas de herramientas, que son opcionales, pueden no estar instaladas en su sistema.

17

=   . ... , ;  : !

instrucci n de asignaci n o o usado para formar vectores y matrices ver precedencia aritm tica e ver  punto decimal la instrucci n contin a en la siguiente l nea o u
separa ndices y argumentos de funci n
o acaba las, suprime la impresi n o comentarios indexaci n, generaci n de vectores o o ejecuta instrucci n del sistema operativo o

Caracteres especiales

ans eps pi i, j inf NaN clock date ops nargin nargout

respuesta cuando no se asigna la expresi n o precisi n o

Valores Especiales

 p

,1 1

No N mero Not-a-Number u reloj de pared fecha n mero de operaciones u n mero de argumentos de entrada de una funci n u o n mero de argumentos de salida de una funci n u o

chdir delete diary dir load save type what fprintf pack

Archivos de disco

cambiar de directorio borrar archivo diario de la sesi n o directorio de archivos en el disco cargar variables de un archivo guardar variables en un archivo mostrar funci n o archivo o mostrar archivos .m en el disco escribir en un archivo compactar memoria v a save

18

compan diag eye gallery hadamard hankel hilb invhilb linspace logspace magic meshdom ones pascal rand toeplitz vander zeros

Matrices Especiales

compa~era n diagonal identidad esot rica e Hadamard Hankel Hilbert inversa de Hilbert vectores igualmente espaciados vectores logar tmicamente espaciados
m gica cuadrada a dominio para puntos de malla constante Pascal elementos aleatorios Toeplitz Vandermonde cero

rot90 iplr ipud diag tril triu reshape .' :

rotaci n o invierte el orden de las columnas invierte el orden de las las diagonal parte triangular inferior parte triangular superior reordena una matriz en otra traspuesta convierte una matriz en una columna simple; A:

Manipulacion de matrices

any all nd isnan nite isempty isstr strcomp

Funciones Logicas y Relacionales

condiciones l gicas o condiciones l gicas o encuentra ndices de valores l gicos


o detecta NaNs detecta in nitos detecta matrices vac as
detecta variables de cadena compara variables de cadena

19

if elseif else end for while break return pause

ejecuta instrucciones condicionalmente usado con if usado con if termina if, for, while repite instrucciones un n mero de veces u repite instrucciones mientras una sentencia l gica sea verdadera o sale de los bucles for y while salida desde funciones pausa hasta que se pulse una tecla

Control de Flujo

input keyboard error function eval feval echo exist casesen global startup getenv menu etime

Programacion y archivos .m

obtiene n meros desde el teclado u llamada al teclado como si fuera un archivo .m muestra mensaje de error de ne funci n o eval a un texto en variables u eval a funci n dada por una cadena u o permite mostrar las instrucciones en pantalla comprueba si las variables existen sensibilidad a las may sculas u de ne variables globales archivo de inicializaci n o accede a una variable de entorno genera un men u tiempo gastado

abs eval num2str int2str setstr sprintf isstr strcomp hex2num

convierte cadena en valores ASCII eval a texto como instrucciones u convierte n meros en cadenas u convierte enteros en cadenas indicador de cadenas convierte n meros en cadenas u detecta variables de cadena compara variables de cadena convierte cadenas hexadecimales en n meros u

Texto y Cadenas

20

clc home format disp fprintf echo plot loglog semilogx semilogy polar mesh contour meshdom bar stairs errorbar title xlabel ylabel grid text gtext ginput

limpia pantalla mueve cursor al comienzo establece el formato de salida muestra matriz o texto imprime n mero formateado u permite la muestra de las instrucciones gr co lineal en el plano XY a gr co logar tmico en el plano XY a
gr co semilogar tmico a
gr co semilogar tmico a
gr co polar a super cie de malla tridimensional plano de contornos dominio para gr cos de super cie a gr cos de barras a gr cos de escaleras a a~ade barras de errores n
Anotacion Grafica Graficos

Ventana alfanumerica

t tulo
anotaci n en el eje x o anotaci n en el eje y o dibuja cuadriculado posiciona un texto arbitrariamente posiciona un texto con el rat n o input gr co a

axis hold shg clg subplot print prtsc meta

Control de la Ventana Grafica

escalado manual de ejes mantiene gr co en pantalla a muestra la pantalla gr ca a limpia la pantalla gr ca a divide la pantalla gr ca a

Impresion de graficos

env a gr co a impresora
a volcado de pantalla archivo de gr cos a

21

abs angle sqrt real imag conj round x oor ceil sign rem exp log log10

Funciones elementales

m dulo complejo o argumento complejo ra z cuadrada


parte real parte imaginaria conjugado complejo redondeo al entero m s cercano a redondeo hacia cero redondeo hacia ,1 redondeo hacia 1 funci n signo o resto exponencial base e logaritmo natural logaritmo base 10

sin cos tan asin acos atan atan2 sinh cosh tanh asinh acosh atanh

Funciones Trigonometricas

seno coseno tangente arcoseno arcocoseno arcotangente arcotangente de x y seno hiperb lico o coseno hiperb lico o tangente hiperb lica o arcoseno hiperb lico o arcocoseno hiperb lico o arcotangente hiperb lica o

bessel gamma rat erf inverf ellipk ellipj

funci n de Bessel o funci n Gamma o aproximaci n racional o funci n de error o inversa de la funci n de error o integral completa el ptica de primera especie
integral el ptica de Jacobi

Funciones Especiales

22

balance backsub cdf2rdf chol eig hess inv lu nnls null orth pinv qr qz rref schur svd

Descomposiciones y Factorizaciones

forma equilibrada sustituci n regresiva o convierte diagonales complejas en diagonales reales factorizaci n de Cholesky o autovalores y autovectores forma de Hessenberg inversa factores de la eliminaci n gaussiana o m nimos cuadrados con restricciones
base ortonormal del n cleo u base ortonormal de la imagen pseudoinversa factorizaci n QR o algoritmo QZ forma escalonada reducida por las descomposici n de Schur o descomposici n en valores singulares o

cond norm rank rcond

n mero de condici n en la norma 2 u o norma 1, norma 2, norma de Frobenius, norma 1 rango estimaci n de la condici n inverso o o

Condicionamiento de matrices

expm logm sqrtm funm poly det trace kron

Funciones matriciales elementales

matriz exponencial matriz logaritmo matriz ra z cuadrada


funci n arbitraria de matriz o polinomio caracter stico
determinante traza producto tensorial de Kronecker

23

poly roots roots1 polyval polyvalm conv deconv residue poly t

polinomio caracter stico


ra ces de polinomios|m todo de la matriz compa~era
e n ra ces de polinomios|m todo de Laguerre
e evaluaci n de polinomios o evaluaci n polinomio matricial o multiplicaci n o divisi n o desarrollo en fracciones parciales ajuste por un polinomio

Polinomios

max min mean median std sort sum prod cumsum cumprod di hist corrcoef cov cplxpair

Analisis de datos por columnas

valor m ximo a valor m nimo


valor medio mediana desviaci n t pica o
ordenaci n o suma de elementos producto de elementos suma acumulativa de elementos producto acumulativo de elementos derivadas aproximadas histogramas coe cientes de correlaci n o matriz de covarianza reordena en pares complejos

abs angle conv corrcoef cov deconv t t2 i t i t2 tshift

~ Proceso de Senales

m dulo complejo o argumento complejo convoluci n o coe cientes de correlaci n o covarianza deconvoluci n o transformada r pida de Fourier a FFT 2-dimensional FFT inversa FFT inversa 2-dimensinal cambia las dos mitades de un vector

24

quad quad8

Integracion Numerica

funci n de integraci n num rica o o e funci n de integraci n num rica o o e

ode23 ode45

Solucion de ecuaciones diferenciales

m todo de Runge-Kutta de orden 2 3 e m todo de Runge-Kutta-Fehlberg de orden 4 5 e

fmin fmins fsolve fzero

Ecuaciones no lineales y Optimizacion

m nimo de una funci n de una variable


o m nimo de una funci n de varias variables
o soluci n de un sistema de ecuaciones no lineales o ceros de una funci n de varias variables o cero de una funci n de una variable o

spline table1 table2

Interpolacion

spline c bico u genera tablas 1-D genera tablas 2-D

25

Potrebbero piacerti anche