Está en la página 1de 13

Asignatura: Formacin y procesado ptico de imgenes Prcticas en MATLAB 1.1 Consideraciones enera!es so"re MatLa".

MATLAB diferencia entre maysculas y minsculas. Los nombres de todas las funciones empiezan con minscula. Colocando un punto y coma al final de una instruccin, elimina la salida de resultados por pantalla. Varias instrucciones se pueden concatenar en la misma lnea, separadas por comas o punto y coma. n el primer caso, se muestran por pantalla los resultados obtenidos en la e!aluacin de cada una. "ara continuar una instruccin en la lnea si#uiente, por ser demasiado lar#a, se ponen tres puntos suspensi!os al final de la primera lnea. 1.# $aria"!es
1.#.1 $ectores y Matrices

MATLAB traba$a %abitualmente con !alores matriciales, de a% &ue su definicin y mane$o sean fundamentales. Veamos la definicin de este tipo de !ariables y el mane$o de sus elementos. vector=[a, b, c, d, ? m] 'efine un !ector fila, cuyos elementos son los !alores a, b, c, d, m. vector=[a; b; c;, d; ? m] 'efine un !ector columna, cuyos elementos son los !alores a, b, c, d, m. variable=[primer_elemento:ltimo_elemento] 'efine el !ector cuyos primeros y ltimo elementos son los especificados, y los elementos intermedios se diferencian en una unidad. variable=[primer_elemento:incremento:ltimo_elemento] 'efine el !ector cuyos primeros y ltimo elementos son los especificados, y los elementos intermedios se diferencian en la cantidad especificada por el incremento variable=linspace(primer_elemento,ltimo_elemento,n) 'efine el !ector cuyos primeros y ltimo elementos son los especificados, y &ue tiene en total n elementos uniformemente espaciados entre los e(tremos. variable=logspace(primer_elemento,ltimo_elemento,n) 'efine el !ector cuyos primeros y ltimo elementos son los especificados, y &ue tiene en total n elementos en escala lo#artmica uniformemente espaciados entre s. "ara definir una matriz en Matlab, basta con introducir entre corc%etes todos sus !ectores fila separados por punto y coma. Los !ectores se pueden introducir separando sus componentes por espacios en blanco o por comas. variable=[vectorfila1; vectorfila2; ? vector filan] 'efine una matriz cuyas filas !ienen dadas por los !alores de los !ectores fila, &ue deben tener la misma lon#itud. A continuacin mostramos la manera de mane$ar los elementos de este tipo de !ariables.
x(n) Devuelve el n-simo elemento del vector x x([n,m,p]) Devuelve los elementos del vector x situados en las posiciones n-sima, m-sima y p-sima. x(n:m) Devuelve los elementos del vector x situados entre el n-simo y el m-simo, ambos inclusive x(n:p:m) Devuelve los elementos del vector x situados entre el n-simo y el m-simo, ambos inclusive pero separados de p en p unidades A(m,n) Devuelve el elemento (m,n) de la matriz A (fila m y columna n) A([m, n],[p, q]) Devuelve la submatriz de A formada por la interseccin de las filas n-sima y m-sima y las columnas p-sima y q-sima. A(n:m,p:q) Devuelve la submatriz de A formada por las filas que ay entre la n-sima y la m-sima, y por las columnas que ay entre la p-sima y la q-sima A(a:p:b,c:q:d) Devuelve la submatriz de A formada por las filas que ay entre la a-sima y la b-sima tom!ndolas de p en p, y por las columnas que ay entre la c-sima y la d-sima tom!ndolas de q en q. A(:,p:q) Devuelve la submatriz de A formada por las columnas que ay entre la p-sima y q-sima.

A(n:m,:) Devuelve la submatriz de A formada por las filas que ay entre la n-sima y la m-sima A(n,:) Devuelve la fila n-sima de la matriz A A(:,p) Devuelve la columna p-sima de la matriz A A(:) Devuelve un vector columna cuyos elementos son las columnas de A situadas por orden A(:,:) Devuelve toda la matriz A [A,B,C] Devuelve la matriz formada por las submatrices A,",#, 1.#.# $aria"!es sim"!icas

Matlab considera simblica cual&uier e(presin &ue se introduzca entre comillas simples. Las !ariables de estas e(presiones son !ariables simblicas.
symvar(expr) Devuelve las variables simblicas de una expresin sym(x) #onvierte la variable numrica x a simblica con representacin racional exacta numeric(x) #onvierte la variable simblica x a numrica symrat(x) $frece la representacin racional exacta de x digits(d) %it&a la precisin de las variables simblicas en d d'(itos decimales exactos digits Da la precisin actual para variables simblicas svdvpa(x) $frece el valor de la variable simblica x con los d'(itos de precisin definidos con di(its vpa(expr,n) $frece el resultado de la expresin con n d'(itos decimales de precisin pretty (expr) Devuelve la expresin utilizando la escritura matem!tica abitual.

1.#.% $aria"!e especia!es

n MATLAb e(isten !ariables de uso comn, cuyo !alor !iene ya preasi#nado.


pi )*+,+-./0-)-1.2... i 3nidad ima(inaria (ra'z cuadrada de-+) in! 4nfinito, por e5emplo +67 "a" 4ndeterminacin (8ot a 8umber, por e5emplo 767) rea#min 9l menor n&mero real positivo utilizable rea#max 9l mayor n&mero real positivo utilizable eps :ariable permanente cuyo valor es inicialmente la distancia desde +.7 al si(uiente n&mero en coma flotante m!s elevado. %e trata de la tolerancia por defecto para operaciones en coma flotante (acuracidad relativa en punto flotante). 9n m!quinas actuales (m!quinas 4999) su valor es /;(--/) ans :ariable creada autom!ticamente para representar el &ltimo resultado procesado al que no se le a asi(nado previamente nin(una variable.

1.% &peraciones con Mat!a" "odemos usar matlab como una computadora num*rica de #ran potencia. Matlab realiza c+lculos e(actos. La mayora de los temas de c+lculo num*rico son tratados con este soft,are. (isten en matlab dos tipos de operaciones aritm*ticas- Las operaciones aritm*ticas matriciales, &ue se ri#en por las re#las del +l#ebra lineal, y las operaciones aritm*ticas con !ectores, &ue se realizan elemento a elemento. .mbolo/0peracin 1 .uma de escalares, !ectores o matrices 2 3esta de escalares, !ectores o matrices 4 "roducto de escalares o de matrices .4 "roducto de escalares o de !ectores 5 A5B6in!7A84B, siendo A y B matrices .5 A.5B cociente elemental de B entre A 7dim7A86dim7B88 / Cociente escalar o B/A6B4in!7A8, siendo A y B matrices ./ A./B cociente elemental de A entre B 7dim7A86dim7B88 9 "otencia de escalares o potencia escalar de matriz .9 "otencia elemental de los elementos de A ele!ados a los correspondientes :

elementos de B
1.%.1 &peradores !gicos

Cuando deseamos comparar !ariables, al i#ual &ue cuando %emos determinado las caractersticas de una !ariable 7!er ).:.;8, se necesitan operadores cuyo resultado sea boleano 7cierto o falso8. "ara ello se cuenta con los operadores l#icos 0perador/<uncin &ue desempe=a > Menor 7para comple$os slo afecta a partes reales8 >6 Menor o i#ual 7slo afecta a partes reales8 ? Mayor 7slo afecta a partes reales8 ?6 Mayor o i#ual 7slo afecta a partes reales8 (66y @#ualdad 7afecta a los nmeros comple$os8 6y 'esi#ualdad 7afecta a los nmeros comple$os8 A con los operadores relacionales 0perador/<uncin &ue desempe=a 2A Be#ociacin L#ica 7B0T8 o complementario de A ACB Con$uncin l#ica 7AB'8 o interseccin de A y B ? B 'isyuncin l#ica 7038 o unin de A y B (or7A,B8 03 e(clusi!o 7D038 o diferencia sim*trica de A y B 1.' Funciones matemticas. La librera MATLAB dispone de una #ama muy completa de funciones predefinidas &ue se corresponden con las funciones matem+ticas m+s utilizadas.
1.'.1 Funciones trigonom(tricas e )iper"!icas

<uncin/@n!ersa/Eiperblica/Eiperblica @n!ersa sin7F8 asin7F8 sin%7F8 asin%7F8 cos7F8 acos7F8 cos%7F8 acos%7F8 tan7F8 atan7F8 atan:7F8 tan%7F8 atan%7F8 sec7F8 asec7F8 sec%7F8 asec%7F8 csc7F8 acsc7F8 csc%7F8 acsc%7F8 cot7F8 acot7F8 cot%7F8 acot%7F8
1.'.# Funciones e*ponencia!es

e(p7F8 <uncin e(ponencial de base e lo#7F8 <uncin Lo#aritmo neperiano lo#)G7F8 <uncin Lo#aritmo decimal s&rt7F8 <uncin 3az cuadrada
1.'.% Funciones espec+,icas de -aria"!e num(rica

abs7F8 Mdulo o !alor absoluto an#le7F8 Ar#umento ceil7(8 3edondea los decimales al mayor entero m+s cercano ceil7F8 Aplica la funcin ceil a real 7F8 y a ima#7F8 con$7F8 Comple$o con$u#ado fi(7(8 limina la parte decimal del real ( fi(7F8 Aplica la funcin fi( a real 7F8 y a ima#7F8 floor7(8 3edondea los decimales al menor entero m+s cercano H

floor7F8 Aplica la funcin floor a real 7F8 y a ima#7F8 ima#7F8 "arte ima#inaria real7F8 "arte real rem7a,b8 'a el resto de la di!isin entre los reales a y b rem7F),F:8 3esto de la di!isin de los t*rminos de F) y F: round7(8 l entero m+s pr(imo al real ( round7F8 Aplica la funcin round a real 7F8 y a ima#7F8 si#n7(8 .i#no del real ( 7) si (?G, 2) si (>G8 si#n7F8 <uncin si#no
1.'.' Funciones de L(*ico

abs7IcadenaJcaracteresK8 'e!uel!e el !ector de caracteres A.C@@ e&ui!alentes a cada car+cter de cadena setstr7!ectorJnum*rico8 'e!uel!e la cadena de caracteres A.C@@ e&ui!alentes a los elementos del !ector str:mat7t),t:,te <orma la matriz cuyas filas son las cadenas de caracteres t), t:,tH,.., respecti!amente str:num7IcadenaK8 Con!ierte la cadena de caracteres en su !alor num*rico e(acto utilizado por Matlab num:str7nmero8 Con!ierte el nmero e(acto en su cadena de caracteres e&ui!alente con la precisin fi$ada int:str7entero8 Con!ierte en nmero entero en cadena
1.'.. /0meros A!eatorios

rand 'e!uel!e un nmero decimal aleatorio distribuido uniformemente en el inter!alo LG,)M rand7n8 'e!uel!e una matriz de dimensin n(n cuyos elementos son nmeros decimales aleatorios distribuidos uniformemente en el inter!alo LG,)M rand7m,n8 'e!uel!e una matriz de dimensin m(n cuyos elementos son nmeros decimales aleatorios distribuidos. rand7size7A88 'e!uel!e una matriz del mismo tama=o &ue la matriz A y cuyos elementos son nmeros decimales aleatorios distribuidos uniformemente en el inter!alo LG,)M rand7NseedK8 'e!uel!e el !alor actual de la semilla #eneradora de los nmeros aleatorios uniformes2 rand7NseedK,n8 Coloca en la cantidad n el !alor actual de la semilla #eneradora de los nmeros aleatorios uniformes randn 'e!uel!e un nmero decimal aleatorio distribuido se#n una normal de media o y !arianza ) randn7n8 'e!uel!e una matriz de dimensin n(n cuyos elementos son nmeros decimales aleatorios distribuidos se#n una normal de media G y !arianza ) randn7m,n8 'e!uel!e una matriz de dimensin m(n cuyos elementos son nmeros decimales aleatorios distribuidos se#n una normal de media G y !arianza ) randn7size7A88 'e!uel!e una matriz del mismo tama=o &ue la matriz A y cuyos elementos son nmeros decimales aleatorios distribuidos se#n una normal de media G y !arianza ) randn7NseedO8 'e!uel!e el !alor actual de la semilla #eneradora de los nmeros aleatorios normales randn7NseedO, n8 Coloca en la cantidad n el !alor actual de la semilla #eneradora de los nmeros aleatorios uniformes. 1.. Los ,ic)eros en MATLAB Todos los fic%eros de instrucciones MATLAB deben de lle!ar la e(tensin .m 7mficheros8. 'entro de estos fic%eros se deben distin#uir dos tipos;

<ic%eros de funcin- .on a&uellos fic%eros de instrucciones cuya primera lnea e$ecutable 7no de comentario8 comienza con la palabra function. <ic%eros de instrucciones- son m2 fic%eros &ue no constituyen funciones y &ue se construyen mediante una secuencia de instrucciones. l contenido de un fic%ero de pro#ramas MATLAB nombre.m se e$ecuta tecleando simplemente su nombre.
1...1 1nstrucciones de entrada y sa!ida.

Todos los m2 fic%eros admiten ordenes &ue permiten mantener una comunicacin con el usuario sobre la !entana de instrucciones. ntre las m+s destacadas est+nx = input (mensaje [,s]) "ermite la introduccin de datos por pantalla. La opcin 's' se emplea para leer una !ariable de tipo car+cter 7Pstrin#P8, e!itando los apstrofes. disp( mensa!e ) " disp( texto ) Muestra un te(to o una matriz de te(to por pantalla. "ara combinar informacin num*rica y te(to en un comando disp se deben utilizar las instrucciones int:str, num:str y mat:str. x = menu (#t$t%lo&, #opci"n_a& [,&opci"n_b&, ''', &opci"n_(&]) Qenera un men &ue permite al usuario ele#ir entre distintas opciones. error( mensa!e ) n!a un mensa$e a pantalla, informando al usuario &ue %a ocurrido un error y detiene la e$ecucin del pro#rama, de!ol!iendo el control al teclado. ec)o on)off Acti!a o desacti!a la escritura de cada instruccin del fic%ero sobre la pantalla pause (1*) 'etiene la e$ecucin del fic%ero %asta &ue se pulse al#una tecla o transcurre el nR indicado de se#undos 2ey"oard 'etiene la e$ecucin de un fic%ero y permite al usuario intercalar una serie de instrucciones. La e$ecucin continuar+ cuando %a#amos return desde la !entana de instrucciones
1...# Lectura y escritura en ,ic)eros e*ternos

MATLAB permite sal!ar y recuperar datos de diferentes tipos de fic%eros, diferenci+ndose b+sicamente por su e(tensin. mat <ic%ero de datos binario. .e #enera autom+ticamente con la instruccin save fichero y se recupera mediante la instruccin load. Eay &ue indicar &ue se pueden sal!ar los datos como caracteres A.C@@ empleando la opcin ascii, en cuyo caso el fic%ero no toma la e(tensin .mat. dat <ic%ero de datos, #enerados por el usuario. .i son %omo#*neos 7no se mezclan distintos tipos de datos8 y mantienen la estructura 7mismo numero de datos por linea8 pueden recuperarse mediante la instruccin load. 1.5.2.1 Guardando y leyendo datos en ficheros de formato Matlab y ASCII l comando sa!e es el instrumento esencial para #uardar datos en fic%eros tipo matlab. .u recproca es la instruccin load. sa-e file var opciones Almacena todas las !ariables indicadas en el fic%ero file de formato matlab binario o A.C@@ dependiendo de las opciones. !oad file 3ecupera todas las !ariables del fic%ero file. ntre las opciones se encuentran +ascii .al!a los !alores en formato A.C@@ de S d#itos. +do%ble .al!a los !alores en formato A.C@@ de )T d#itos. +tabs .epara los !alores por tabuladores 7slo con las opciones anteriores8. Las distintas modalidades de uso de ambos comandos se presentan a continuacin. sa!e Almacena todas las !ariables del espacio de traba$o en el fic%ero de formato matlab binario Umatlab.matV. sa!e D A @dem, pero almacenando slo las !ariables D e A. sa!e file @dem, pero usando el fic%ero Ufile.matV W

sa!e 2ascii Almacena todas las !ariables del espacio de traba$o en el fic%ero de formato matlab UmatlabV. sa!e 2ascii2double @dem en formato A.C@@ de )T d#itos. sa!e Xascii 2tabs @dem en formato A.C@@ de S d#itos con !alores delimitados por tabuladores load Lee todas las !ariables #uardadas con el comando sa!e en el fic%ero de nombre matlab.mat load file Lee las !ariables del fic%ero binario file.mat load file.t(t Lee el fic%ero A.C@@ de nombre file.t(t 1.3 Programacin en MATLAB Al i#ual &ue en los len#ua$es de alto ni!el, MATLAB permite crear pro#ramas utilizando pro#ramacin estructurada. Asimismo utiliza muc%os de los recursos de la pro#ramacin orientada a ob$etos.
1.3.1 4structuras de contro! condicionadas

"ermite seleccionar entre dos con$untos alternati!os de instrucciones dependiendo de &ue se !erifi&ue una condicin l#ica 7cuyo resultado es cierto o falso8. .u sinta(is es de la formaif condici n Instrucciones !ue deben e"ecutarse si la condici n 1 es cierta. else Instrucciones a e"ecutar si no se #erifica la condici n anterior end Cuando no %ay instrucciones &ue e$ecutar si la condicin no se cumple, la sinta(is anterior se reduce a if Y end. Al contrario, cuando se encadenan !arios blo&ues alternati!os, la sinta(is &ueda comoif condici n$1 Instrucciones a e"ecutar cuando se #erifica la condici n 1 elseif condici n$2 Instrucciones a e"ecutar cuando no se #erifica la condici n 1 y s% la condici n$2 elseif condici n$& Instrucciones a e"ecutar cuando no se #erifican las condiciones anteriores y s% la condici n$& Y else Instrucciones a e"ecutar cuando no se #erifican las condiciones anteriores end "odemos imponer m+s de una condicin o condiciones comple$as utilizando los operadores relacionales 7condiciones cuyo resultado es cierto o falso8 combinados con operadores l#icos 7sir!en como ne(o entre !arios relacionales8. ntre los principales operadores relacionales est+n menor 7>8, menor o i'ual 7>68, mayor 7?8, mayor o i'ual 7?68 e i'ual 7668. ntre los operadores l#icos cabe destacar y 7 C 8, o7 Z 8 y la ne'aci n 7[8. 0tros operadores son el o e(clusi#o (xor8, el e(iste al'uno (any8 y el todos (all8. Los dos ltimos se suelen aplicar a !ectores, de!ol!iendo 1 7!erdadero8 cuando al#n elemento cumple la condicin o cuando la cumplen todos los elementos respecti!amente.
1.3.# Buc!es simp!es

"ermite repetir un nmero determinado de !eces un con$unto de instrucciones. .u sinta(is es la si#uienteT

for !ar = #ector Instrucciones !ue deben e"ecutarse end l ar#umento #ector puede ser efecti!amente un !ector, en cuyo caso la !ariable !a tomando los !alores de las componentes del !ector, o una estructura de la forma inicio ) incremento ) fin, en cuyo caso la !ariable !a tomando !alores desde inicio %asta fin con un determinado incremento. .i no se indica el !alor del incremento, este se toma como unidad. l nmero de !eces &ue se repite el bucle !iene dado por la dimensin del !ector. La e$ecucin del bucle puede interrumpirse en cual&uier momento mediante la instruccin brea\.
1.3.% Buc!es condiciona!es

"ermite repetir un con$unto de instrucciones, en tanto se satisfa#a una condicin l#ica. .u sinta(is es la si#uientewhile condici n Instrucciones !ue deben e"ecutarse mientras la condici n sea cierta. end
1.3.' Funciones

]na funcin se define mediante un m2 fic%ero, cuyo nombre coincide con el de la funcin. La primera lnea e$ecutable la palabra function. .u sinta(is es functionar'umentos$salida* nombre$funci n +ar'umentos$entrada, se#uida de las instrucciones necesarias. Cuando %ay m+s de un ar#umento de salida, *stos deben ir entre corc%etes y separados por comas. s con!eniente utilizar las primeras lneas del fic%ero comentario 7iniciandolas con P^P8, e(plicando cmo debe usarse la funcin y sus ar#umentos 7tanto de entrada como de salida8. As, dic%a definicin ser+ !isible mediante la instruccin help nombre-funci n. La funcin puede finalizarse en cual&uier punto utilizando la instruccin return. Las !ariables definidas en la funcin 7sal!o los ar#umentos8 son locales. "ara &ue el !alor de una !ariable sea compartido por !arias funciones se emplea la instruccin global, cuya sinta(is es global #ariable, y debe aparecer en todas las funciones &ue la compartan ]na funcin utiliza las si#uientes instrucciones para !erificar el nmero de ar#umentosnargn nmero de ar#umentos de entrada &ue el usuario %a pasado a la funcin. nargout nmero de ar#umentos de salida &ue el usuario desea recibir de la funcin nargchk !erifica &ue el nmero de ar#umentos de entrada calculados con nargin es !+lido, de!ol!iendo en caso contrario un mensa$e de error. "ara la e!aluacin de una funcin tambi*n puede utilizarse la instruccin fe#al. feval (#file&,arg1,arg1,'',argn) !ala la funcin file, almacenada en file.m, con los !alores de los ar#umentos ar#),ar#:,...,ar#n. ara definir funciones de una sla !ariable se puede utilizar la definicin simblica mediante nombre= &f%nci"n& "ara %allar el !alor de la funcin nombre en un punto a se utiliza el comando subs, cuya sinta(is es la si#uientesubs7f,a8 Aplica la funcin f en el punto a subs7f,a,b8 .ustituye en f el !alor b por el !alor a
1.3.. La orden 5e!p

La orden Eelp sir!e para obtener ayuda sobre un tema conocido. scribiendo %elp y a continuacin la orden sobre la &ue &ueremos obtener informacin, por e$emplo %elp s&rt, aparece en la pantalla la informacin sobre esta orden. .i o sabemos el tema e(acto sobre el &ue _

&ueremos ayuda escribiendo nicamente %elp obtenemos una #ua en la &ue aparecen las distintas cate#oras sobre las cuales podemos pedir ayuda. Como una alternati!a para obtener ayuda podemos utilizar la opcin Eelp del men principal. Lle!ando el puntero del ratn sobre la palabra Eelp &ue aparece en la barra situada en la parte superior de la !entana 7Barra de men8 y pulsando el botn iz&uierdo del ratn 7IclicK8 se obtiene un men desple#able. 1.6 r,icos Matlab produce #r+ficos de dos y tres dimensiones, as como contornos y #r+ficos de densidad. .e pueden representar los #r+ficos y listar los datos, permite el control de colores, sombreados y otras caractersticas de los #r+ficos, tambi*n soporta #r+ficos animados. Los #r+ficos producidos por Matlab son portables a otros pro#ramas.
1.6.1 r,icos "idimensiona!es 7#89:

Las instrucciones b+sicas &ue utiliza Matlab para dibu$ar la #r+fica de una funcin de una !ariable son los si#uientesp#$t(%) <epresenta los puntos (=,>=). %i > es una matriz, ace lo mismo para cada columna de la matriz. %i > es un vector comple5o, representa <eal(>) frente a 4?A@(>).. p#$t(%,&) <epresenta el con5unto de puntos (>,A). %i > o A son matrices, representa por filas o columnas los datos de > frente a los datos de A, dependiendo si el otro vector es fila o columna. Bara valores comple5os de > e A, se i(noran las partes ima(inaria. @r!fica de plot(>,A) con la opciones definidas en %. 3sualmente, % se compone de dos caracteres entre comillas simples, el primero de los cuales fi5a el color de la l'nea del (r!fico, y el se(undo fi5a el car!cter a usar en el (raficado. p#$t(%',&',(',%),&),(),%*,&*,(*) #ombina, sobre los mismos e5es, los (r!ficos definidos para las tripletas (>i, Ai. %i). %e trata de una forma de representar varias funciones sobre el mismo (r!fico. !p#$t(!uncin,[xmin,xmax]) @rafica la funcin en el intervalo de variacin de x dado. !p#$t(!uncin,[xmin,xmax, ymin,ymax],() @r!fica la funcin en los intervalos de variacin de x e y dados, con las opciones de color y caracteres dadas por %. !p#$t([!',!),++!n],[xmin,xmax, ymin,ymax],() @r!fica las funciones f+,f/,..fn sobre los mismo e5es en los intervalos de variacin de x e y especificados, y con las opciones de color y caracteres dadas por %. e,p#$t(!unci$n,[xmin xmax]) @r!fica la funcin en el intervalo de variacin de x dado 1.6.# Titu!os; eti<uetas; ma!!as y te*tos tit#e(text$) ACade el texto como t'tulo del (r!fico en la parte superior del mismo en (r!ficos /-D y )-D x#abe#(text$) %it&a el texto al lado del e5e x en (r!fico /-D y )-D y#abe#(text$) %it&a el texto al lado del e5e y en (r!ficos /-D y )-D ,#abe#(text$) %it&a el texto al lado de e5e z en un (r!fico )-D text(x,y,text$) %it&a el texto en el punto (x,y) dentro del (r!fico /-D text(x,y,,,text$) %it&a el texto en el punto (x,y,z) en el (r!fico )-D gtex(text$) Bermite situar el texto en un punto seleccionado con el ratn dentro de un (r!fico /-D -$#d Bermite mantener el (r!fico existente con todas sus propiedades, de modo que el si(uiente (r!fico que se realice se sit&e sobre los mismos e5es y se superpon(a al existente. Da opcin old on activa la opcin y old off la elimina. Da opcin old permuta entre on y off. :!lido para /-D y )-D

A continuacin se presentan comandos &ue permiten manipular los e$es de un #r+fico, la colocacin del mismo dentro de la pantalla, su apariencia, su presentacin desde distintos puntos de !ista, etc.
axis([xmin xmax ymin ymax]) %it&a los valores m!ximo y m'nimo para los e5es > e A en el (r!fico corriente axis (aut$) %it&a los e5es en la escala autom!tica por defecto (la dada por xminEmin(x), xmaxEmax(x) e y libre) axis (axis) #on(ela el escalado de e5es en los l'mites corrientes, de tal forma que al situar otro (r!fico sobre los mismo e5es (con old en on), la escala no cambie axis(equa#) %it&a el mismo factor de escala para ambos e5es axis($!!) 9limina las etiquetas y marcas de los e5es y las re5illas, manteniendo el t'tulo del (r!fico y los textos situados en l con text y (text axis($n) #oloca de nuevo las etiquetas, marcas y re5illas de los e5es

subp#$t(m,n,p) Divide la ventana (r!fica en mxn subventanas y coloca el (r!fico corriente en la ventana p-sima, empezando a contar por la parte superior izquierda y de izquierda a derec a asta acabar la l'nea, para pasar a la si(uiente ginput(n) Bermite recuperar las coordenadas de n puntos de un (rafico mediante ratn o teclado 1.6.% r,icos en coordenadas po!ares

Matlab %abilita el comando especfico polar , &ue representa funciones en coordenadas polares. .u sinta(is es la si#uiente-

p$#ar (? ,r) <epresenta la curva en coordenadas polares rEr(? ) p$#ar (? ,r,() <epresenta la curva en coordenadas polares rEr(? ) con el estilo de l'nea dado por %, cuyos posibles valores ya fueron especificados en el comando plot

1.6.'

r,ico tridimensiona!es 7%89:

Los comandos b+sicos &ue utiliza Matlab para dibu$ar #r+ficos &ue #eneran una lnea en tres dimensiones son los si#uientes-

p#$t*(%,&,.) <epresenta el con5unto de puntos (>,A,F), donde >,A y F son vectores fila. >.A y F pueden ser matrices de la misma dimensin, en cuyo caso se ace una (r!fica por cada tripleta de filas y sobre los mismos e5es. Bara valores comple5os de >, A y F se i(noran las partes ima(inarias. p#$t*(%,&,.,() @r!fica de plot(>,A,F) con la opciones definidas en %. 3sualmente, % se compone de dos caracteres entre comillas simples, el primero de los cuales fi5a el color de la l'nea del (r!fico, y el se(undo fi5a el car!cter a usar en el (raficado. Dos valores posibles de colores y caracteres se an descrito ya al explicar el comando plot p#$t*(%',&',(',%),&),(),%*,&*,(*) #ombina, sobre los mismos e5es, los (r!ficos definidos para las tuplas (>i, Ai. Fi, %i). %e trata de una forma de representar varias funciones sobre el mismo (r!fico.

1.6..

r,icos de ma!!as y de super,icies

]n #r+fico de malla tridimensional de malla !iene definido por una funcin z6f7(,y8, de tal forma &ue los puntos de la superficie se representan sobre una re$illa, resultado de le!antar los !alores de z dados por f7(,y8 sobre los correspondientes puntos del plano 7(,y8. l aspecto de un #r+fico de malla es como una red de pesca, con los puntos de la superficie sobre los nudos de la red. 3ealmente, es un #r+fico de superficie cuyo #rafo tiene forma de red. "ara representar un #r+fico de malla, se utiliza el comando mes% y sus !ariantes, cuya sinta(is es la si#uientemes-(%,&,.,C) <epresenta el (r!fico de malla de la funcin zEf(x,y), dibu5ando las l'neas de la re5illa que componen la malla con los colores especificados en #. 9l ar(umento # se puede i(norar. mes-,(%,&,.,C) <epresenta el (r!fico de malla de la funcin zEf(x,y) con una especie de cortina o teln en la parte inferior. mes-c(%,&,.,C) <epresenta el (r!fico de malla de la funcin zEf(x,y) 5unto con el (r!fico de contorno correspondiente (curvas de nivel proyectadas sobre el plano >A)

Los #r+ficos de superficie permiten obtener representaciones densas de fi#uras tridimensionales, y en especial de funciones de dos !ariables. l primer paso para representar una funcin de dos !ariables z6 f7(,y8 mediante su #r+fico de superficie, es utilizar el comando mes%#rid, &ue b+sicamente define la matriz> de puntos 7D,A8 sobre los cuales se e!ala la funcin de dos !ariables para %acer su presentacin #r+fica. .u sinta(is es la si#uiente[%,&]/mes-grid(x,y) Gransforma el campo de definicin dado de las variables x e y de la funcin a representar zEf(x,y) en ar(umento matriciales utilizables por el comando mes para obtener el (r!fico de malla sur!(%,&,.,C) <epresenta el (r!fico de superficie de la funcin zEf(x,y), realizando el dibu5o con los colores especificados en #. 9l ar(umento # se puede i(norar sur!#(%,&,.) <epresenta el (r!fico de superficie de la funcin zEf(x,y), realizando el dibu5o con sombreado.

Veamos por ltimo la sinta(is de los #r+ficos de contornoo cur!as de ni!el

c$nt$ur(.) Dibu5a el (r!fico de contorno (curvas de nivel) para la matriz F. 9l n&mero de l'neas de contorno a utilizar se eli(e autom!ticamente c$nt$ur(.,n) Dibu5a el (r!fico de contorno (curvas de nivel) para la matriz F usando n l'neas de contorno

c$nt$ur(,,y,.,n) Dibu5a el (r!fico de contorno (curvas de nivel) para la matriz F usando en los e5es > e A el escalado definido por los vectores x e y (n l'neas de contorno) contour)(F), contour)(F,n) y contour)(x,y,F,n) Dibu5an los (r!ficos de contorno en ) dimensiones pc$#$r(%,&,.) Dibu5a un (r!fico de contorno (curvas de nivel) para la matriz (>,A,F) utilizando una representacin basada en densidades de colores. %uele denominarse (r!fico de densidad

2 Diferenciacin e Integracin
La deri!acin e inte#racin son dos operaciones b+sicas en el estudio y las aplicaciones del C+lculo, adem+s de ser utilizadas con asiduidad en multitud de disciplinas de la in#eniera. "ara poder aplicar los operadores deri!acin e inte#racin a una funcin es necesario definirla, pre!iamente, de una manera simblica. #.1 C!cu!o de deri-adas Matlab ofrece comandos &ue permiten el c+lculo de deri!adas. diff7IfK , I(K8 Ealla la funcin deri!ada de f respecto a (. .i no se especifica la !ariable de deri!acin, deri!a con respecto a la !ariable determinada por sym!ar diff7IfK , I(K,n8 Ealla la funcin deri!ada en*sima de f con respecto a ( diff7f7(,y,z,...8, I(K8 'efine la deri!ada parcial de f respecto a ( diff7f7(,y,z,...8, I(K, n8 'efine la deri!ada n2*sima de f respecto a ( int7f7(8, I(K8 Calcula la inte#ral indefinida sobre la !ariable ( int7f7(8, I(K, IaK, IbK8 Calcula la inte#ral definida sobre ( entre a y b

3 Sistemas Lineales Directos


"ara recordar el mane$o de las !ariables !ectoriales, es con!eniente repasar el apartado ).:.). %.1 &peraciones Bsicas a6aa),a:,...,anb, b6ab),b:,..,bnb c6escalar a1c6La)1c a:1c,...an1cM .uma de una escalar y un !ector a4c6La)4c a:4c,...an4cM "roducto de una escalar por un !ector a1b6La)1b) a:1b: ....an1bnM .uma de dos !ectores a.4 b6La)4b) a:4b: ....an4bnM "roducto de dos !ectores a2/ b6La)/b) a:/b: ....an/bnM Cociente a la derec%a de dos !ectores a.5 b6La)5b) a:5b: ....an5bnM Cociente a la iz&uierda de dos !ectores a.9 b6La)9b) a:9b: ....an9bnM Vector ele!ado a escalar c.9 a6Lc9a) c9a: 222c9anM scalar ele!ado a !ector a.9 b6La)9b) a:9b: ...an9bnM Vector ele!ado a !ector A1B .uma de las matrices A y B A2B 'iferencias de las matrices A y B 7A menos B8 c4M "roducto del escalar c por la matriz M A4B "roducto de las matrices A y B 7A por B8 A9p Matriz A ele!ada a la potencia escalar p p9A scalar p ele!ado a la matriz A %.# &peraciones de matrices e(pm7A8 eA calculada a tra!*s de auto!alores e(pm)7A8 eA calculada a tra!*s de apro(imantes de pad* e(pm:7A8 eA calculada a tra!*s de series de Taylor e(pmH7A8 eA calculada a tra!*s de la condicin de la matriz de auto!ectores lo#m7A8 Lo#aritmo neperiano de la matriz A s&rtm7A8 3az cuadrada de la matriz cuadrada A )G

funm7A,KfuncinK8 Aplica la funcin a la matriz cuadrada A transpose7A8 o AK Matriz transpuesta de A in!7A8 Matriz in!ersa de la matriz cuadrada A 7A2)8 det7A8 'eterminante de la matriz cuadrada A ran\7A8 3an#o de la matriz A trace7A8 .uma de los elementos de la dia#onal de A s!d7A8 'a el !ector V de !alores sin#ulares de A. Los !alores sin#ulares de A son las races cuadradas de los auto!alores de la matriz sim*trica AK A L],.,VM6s!d7A8 'a la matriz dia#onal . de !alores sin#ulares de A 7ordenados de mayor a menor8, y las matrices ] y V tales &ue A6 ]4.4VK cond7A8 'a la condicin de la matriz A 7cociente entre el mayor y el menor !alor sin#ular de A8 rcond7A8 3ecproco de la condicin de la matriz A norm7A8 Borma de A 7mayor !alor sin#ular de la matriz A8 norm7A,)8 )2norma de A 7mayor suma de las columnas de A8 norm7A, inf8 Borma infinita de A 7mayor suma de la filas de A8 norm7A, IfroK8 <2norma de A, definida por s&rt7sum7dia#7AKA888 F6null7A8 'a una Base ortonormal del ncleo de A 7FKF6@8. l nmero de columnas de F es la nulidad de A c6ort%7A8 'a una base ortonormal para el ran#o de A 7cKc6@8. Las columnas de c #eneran el mismo espacio &ue las columnas de A, y el nmero de columnas de c es el ran#o de A subspace7A,B8 'a el +n#ulo entre los subespacios especificados por las columnas de A y de B. .i a y B son !ectores da el +n#ulo formado por ambos. rref7A8 'a la matriz reducida escalonada por filas de A. l nmero de filas no nulas de rref7A8 es el ran#o de la matriz a A %.% =eso!ucin de >istemas D6linsol!e7A,B8 3esuel!e A4D 6B para una matriz cuadrada A, siendo B y D matrices D6A5B 3esuel!e el sistema A4D6B D6A/B 3esuel!e el sistema D4A6B %.' &peraciones con matrices sim"!icas sysub7A,B8 'iferencia de las matrices A y B 7A menos B8 sympo,7A,p8 Matriz A ele!ada a la potencia escalar p transpose7A8 Matriz transpuesta de A 7AK8 in!erse7A8 Matriz in!ersa de la matriz cuadrada A 7A2)8 determ7A8 'eterminante de la matriz cuadrada A L],.,VM6sin#!als7A8 o L],.,VM6s!d!pa7A8 'e!uel!e las matrices orto#onales u y V y la matriz dia#onal . con los !alores sin#ulares de A en la dia#onal, tales &ue A 6].VK symop7A, Ioperacin)K, B, Ioperacin:K,C,... 3ealiza las operaciones indicadas entre las matrices simblicas dadas y en el orden especificado. ste comando permite mezclar todo. %.. Auto-a!ores y Auto-ectores Matlab %abilita comandos &ue permiten traba$ar con auto!alores y auto!ectores de una matriz cuadrada. "ara matrices num*ricas, tenemos los si#uientes. ei#7A8 Calcula los auto!alores de la matriz cuadrada A LV,'M6ei#7A8 Calcula la matriz dia#onal ' de auto!alores de A y una matriz V cuyas columnas son los auto!ectores

))

LV,'M6ei#7A,B8 Calcula la matriz dia#onal ' de auto!alores #eneralizados de A y B, y una matriz V cuyas columnas son los auto!ectores correspondientes, cumpli*ndose &ue A4V6B4V4' %.3 =eso!ucin de ecuaciones y sistema Matlab ofrece determinados comandos &ue permiten resol!er ecuaciones y sistemas. ntre ellos tenemos los si#uientessol!e7IecuacinK, I(K8 3esuel!e la ecuacin en la !ariable ( sol!e 7Ie(),e(:,...,ecnK, I(),(:,...,(nK8 3esuel!e n ecuaciones simult+neas ec),...,ecn en las !ariables (),...,(n 7sistema de ecuaciones8 D6linsol!e7A,B8 3esuel!e A4D 6B para una matriz cuadrada A, siendo B y D matrices roots7V8 'a las races del polinomio cuyos coeficientes son las componentes del !ector V. D6A5B 3esuel!e el sistema A4D6B D6A/B 3esuel!e el sistema D4A6B %.6 &peraciones Matricia!es dia#7!8 Crea la matriz identidad de orden n dia#7A8 (traer la dia#onal de la matriz A como !ector columna eye7n8 Crea la matriz identidad de orden n2 eye7m,n8 Crea la matriz de orden m(n con unos en la dia#onal principal y ceros en el resto. zeros7m,n8 Crea la matriz nula de orden m(n ones7m,n8 Crea la matriz de orden m(n con todos sus elementos ) rand7m,n8 Crea una matriz aleatoria uniforme de orden m(n randn7m,n8 Crea una matriz aleatoria normal de orden m(n res%ape7A,m,n8 'e!uel!e la matriz de orden m(n e(trada de la matriz A tomando elementos consecuti!os de A por columnas size7A8 'e!uel!e el orden 7tama=o8 de la matriz A len#t%7!8 'e!uel!e la lon#itud del !ector ! %.? &peraciones Matricia!es A1B,A2B,A4B .uma, resta y producto de matrices A5B .i A es cuadrada A5B6in!7A84B. .i A no es cuadrada A5B es la solucin en el sentido de mnimos cuadrados del sistema AD6B B/A Coincide con 7AK 5 BK8K An Coincide con A4A4A4.....4A n !eces 7n escalar8 pA 3ealiza el c+lculo slo si p es un escalar %.@ Funciones Matricia!es ma(7V8 Mayor componente 7para comple$os se calcula ma(7abs7V888 min7V8 Mayor componente 7para comple$os se calcula min7abs7V888 mean7V8 Media de los componentes de V median7V8 Mediana de la s componentes de V std7V8 'es!iacin tpica de las componentes de V sort7V8 0rdena de forma ascendente las componentes de V. "ara comple$os %ace la ordenacin se#n los !alores absolutos sum7V8 .uma los componentes de V prod7V8 Multiplica los elementos de V, con lo &ue nd6prod7)-n8 cumsum7V8 'a el !ector de suma acumuladas de V cumprod7V8 'a al !ector de productos acumulados de V ):

diff7V8 'a el !ector de primeras diferencias de V 7Vt2Vt2)8 #radient7V8 Apro(ima el #radiente de V del:7V8 Laplaciano de V 7discreto de W puntos8 fft7V8 Transformada discreta de <ourier V fft:7V8 Transformada discreta bidimensional de <ourier de V ifft7V8 @n!ersa de la transformada discreta de <ourier de V ifft:7V8 @n!ersa de la transformada :2' discreta de <ourier de V

)H

También podría gustarte