Está en la página 1de 8

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

Iniciando una sesin de trabajo en MATLAB Inicie MATLAB haciendo doble clic en el icono que se encuentra en el escritorio. Enseguida deber aparecer una pantalla dividida en 3 ventanas (figura !. La ventana en la cual debe reali"ar su traba#o es la que tiene el t$tulo de %&MMA'( )I'(&). *or el +o+ento, se puede ignorar a las otras dos ventanas. En la ventana de %&MMA'( )I'(&) se visuali"a el s$+bolo >> al inicio de la l$nea. A esto se le lla+a prompt. Todos los co+andos se debern escribir in+ediata+ente despu-s del prompt . dando enter al final.

Figura 1 Espacio de trabajo de MATLAB

/e debe elegir un directorio de traba#o, por defecto, MATLAB utili"a el directorio work que se encuentra en la tra.ectoria c:\MATLAB6p5\work. /i se desea traba#ar en un directorio distinto, se debe tener cuidado de indicar la ruta a MATLAB. *or e#e+plo, si se desea traba#ar en disco fle0ible, entonces se tendr que escribir1 >> a: o si se desea traba#ar en un directorio c123or4 >> cd c:\work *ara la versi5n 6.7, se puede ca+biar de directorio de traba#o haciendo clic sobre la lista que se encuentra en la barra de herra+ientas . que tiene por no+bre urrent director! (figura 8!.

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

Figura " Cambiando de directorio de trabajo

Figura # Eligiendo un directorio de trabajo

/i se hace clic en el icono aparece la pantalla que se +uestra en la figura 3, . en ella se puede navegar . seleccionar el directorio de traba#o deseado. A9n cuando la versi5n 6.7 acepta no+bres de directorios largos, es conveniente respetar la convenci5n de no+brar los directorios con hasta caracteres . evitar los espacios: co+o por e#e+plo Mis docu$entos que su no+bre M/ (os es Misdoc%1: . este detalle es +uchas veces causa de error. Ajuste de cur&as' gr()icos *ogar+t$icos ! gr()icos se$i*ogar+t$icos /uponga que +ide la altura h del creci+iento de un cultivo. La altura (+edida en c+! es una funci5n del tie+po (en d$as!. /uponga que se +ide la altura una ve" al d$a . se obtienen los siguientes datos1 t (d$as! h (c+! 7. 8 8 6. 6 3 <. 3 ; =. 6 7 >.<

*ara graficar estos datos en MATLAB, debe+os representarlos co+o arreglos unidi+ensionales: a los cuales ta+bi-n se les lla+a vectores. Escriba los siguientes co+andos1 >> t=[1 2 3 4 5] >> h=[5.2 6.6 7.3 8.6 10.7] 'o o+ita el espacio que sigue a cada dato (pruebe escribir una , entre dato . dato: ?cul es la diferencia@!. *ara graficar, e+plea+os el co+ando plot de la siguiente +anera1 >> plot(t,h,ro) El argu+ento ro del co+ando plot MATLAB dibu#a un circulo ro#o en cada dato. Esto es opcional, puesto que si se o+ite, MATLAB une los puntos +ediante seg+entos de l$nea recta. Aaga la prueba. 8

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

/i ahora usted escribe1 >> plot(t,h,k+) *ara ca+biar los l$+ites de los e#es, de for+a que se +uestren clara+ente todos los puntos, pode+os for"ar a MATLAB a to+ar los intervalos B>,6C en x . de B>, 7C en y. *ara ello escribi+os1 >> axis([0 6 0 15]) Al inspeccionar la grfica construida, ?le parece que h(t! es una funci5n lineal@ A9n cuando no parece exactamente una l$nea recta, parece que ha. una relaci5n lineal del creci+iento con respecto al tie+po. ?%5+o poder conocer la funci5n lineal que +e#or se a#uste a los puntos@ MATLAB posee un co+ando que per+ite a#ustar los puntos a una l$nea recta. Escriba1 >> polyfit(t,h,1) %o+o resultado, MATLAB regresa un par de n9+eros. El pri+ero de ellos representa la pendiente de la l$nea recta (m! . el segundo la intercepci5n con el e#e y (b!. *or lo tanto, el +odelo corresponde a la for+a y D ax E b. *ara graficar esta l$nea en la +is+a grfica que contiene los puntos, escriba la siguiente secuencia de co+andos1 >> >> >> >> hold on x=0:0.5:6 y =a*x+b plot(x,y)

Fecuerde sustituir los valores nu+-ricos de a . b por los que MATLAB ha calculado previa+ente al +o+ento de escribir los co+andos, si no lo hace, MATLAB +arcar error puesto que las +atrices a . b no estn definidas. Alternativa+ente, puede definirlos al +o+ento de hacer el a#uste si escribe lo siguiente1 >> [a,b]=polyfit(t,h,1) Al igual que en los e#ercicios anteriores, coloque etiquetas a los e#es, . en el t$tulo inclu.a su no+bre, grupo . fecha e i+pri+a su grfica. Ahora suponga que registra el creci+iento, L en c+, de cierto roedor . que a su ve" registra su +asa, m en g. La siguiente tabla +uestra los resultados obtenidos1 t (se+anas! L (c+! . > 8 . 6 3 3 3. > ; 6.8 7 8.=

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

m (g! (efina los vectores L . m1

>.

>. 3

8.

G. >

6=.<

>> L=[1.0 1.6 3.0 6.2 12.8] >> m=[0.1 0.3 2.1 19.0 168.7] grafique L co+o funci5n de t1 >> hold off >> figure >> plot (t,L,ro) &bserve su grfica, ?parece que los puntos se a#ustan a una l$nea recta@ *ara poder a#ustarlos a una recta, haga+os lo siguiente: grafique+os los puntos con una escala se+ilogar$t+ica. *ara ello, e#ecute la siguiente sentencia1 >> semilogy(t,L,ro) Ahora los datos debern de observarse sobre una l$nea recta. 'ote que la escala hori"ontal (el e#e de tie+po! es lineal . la escala vertical (el e#e de creci+iento! es logar$t+ico. A este tipo de grfica se le deno+ina se$i*ogar+t$ica. E+pleando polyfit pode+os encontrar la funci5n que se a#usta a la l$nea que se +uestra en la grfica. (ebe+os recordar que L tiene una relaci5n logar$t+ica (log >! con t. Entonces, se debe e+plear el co+ando de la siguiente for+a1 >> polyfit (t,log10(L),1) 'ueva+ente MATLAB da co+o resultado un par de n9+eros. ?%5+o interpretar estos resultados@ (e la siguiente +anera1 log L = at + b dado que L est siendo graficado logar$t+ica+ente. *ara obtener L, tene+os1 >log L = >( at +b ) L = >( at +b ) por lo tanto, el creci+iento de los roedores resulta au+entar e0ponencial+ente con respecto al tie+po. *ara verificar que nuestro +odelo es correcto, pruebe lo siguiente1 >> plot (t,L,ro)

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

>> >> >> >> >>

hold on x=[1:0.01:5] y=10.^(a*x+b) plot (x,y) hold off

'ueva+ente, no olvide sustituir los valores nu+-ricos de a . b. Agregue etiquetas a los e#es . en el t$tulo inclu.a su no+bre, grupo . fecha. I+pri+a su grfica. Hinal+ente e0plorare+os la relaci5n entre la longitud L . la +asa del roedor m. *ara graficar L en funci5n de m escriba1 >> plot (L,m,ro) los puntos +arcados por c$rculos ro#os no parecen en esta ocasi5n a#ustarse por +edio de una l$nea recta. ?%5+o poder apro0i+arlos a una l$nea recta@ Iraf$quelos probando una grfica se+ilogar$t+ica, co+o por e#e+plo1 >> semilogy (L,m,ro) ?Es ahora una l$nea recta@ *ruebe graficar los puntos en una grfica logJlog (logar$t+ica!. >> loglog (L,m,ro) /in duda, ahora los datos parecern a#ustarse a una l$nea recta. 'ote que en este e#ercicio las escalas de a+bos e#es son logar$t+icas. *ode+os e+plear la funci5n polyfit para encontrar la ecuaci5n de esta recta, para ello escriba1 >> polyfit (log10(L),log10(m),1) MATLAB obtendr un par de valores que corresponde a la pendiente . la intersecci5n con el e#e y. Esto significa que los datos estn relacionados de la siguiente +anera1
log m = a log L + b

de aqu$ que entonces1


> log m = > a log L +b m = > a log L > b
a

m = ( > log L ) > b m = La > b

. por lo tanto1
m = > b La

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

lo cual quiere decir que la +asa del roedor debe de ser apro0i+ada+ente proporcional a la a potencia de su longitud. *ara co+probar este +odelo, haga lo siguiente1 >> >> >> >> >> >> plot (L,m,ro) hold on x=[0:0.01:14] y=10 ^b*x. ^a plot (x,y) hold off

'ueva+ente, no olvide sustituir los valores nu+-ricos de a . b. Agregue etiquetas a los e#es . en el t$tulo inclu.a su no+bre, grupo . fecha. I+pri+a su grfica. ,e)iniendo &ariab*es si$b*icas: )uncionesKna de las principales caracter$sticas de MATLAB es que per+ite definir funciones de +anera +u. sencilla. *or e#e+plo, la funci5n lineal u ( t ) = >.6t + .8 se define por +edio del siguiente co+ando1 >> u = inline(0.6*t+1.2,t) con esto he+os especificado que la variable u es funci5n de t . tiene la regla de correspondencia indicada. (ebe tener cuidado de no o+itir los s$+bolos . * o de lo contrario MATLAB indicar error. Evalue la funci5n u(t) para varios valores. *ara ello, escriba lo siguiente1 >> u(1) para locali"ar la intercepci5n con el e#e y escriba 1 >> u(0) Ahora usted eval9e la funci5n en el punto x D 8.6< con MATLAB. Kna caracter$stica +s de MATLAB es que nos per+ite graficar la funci5n. La for+a +s si+ple para hacerlo es e+pleando el co+ando ezplot. Ksare+os esta herra+ienta para dibu#ar la grafica de la funci5n f ( x ) = .8 x en el intervalo B>,8C. *ara esto, debe escribir1 >> ezplot(1.2*x,[0 2]) In+ediata+ente despu-s de haber opri+ido la tecla enter, debe surgir una ventana con la grfica deseada. 'ote que el co+ando ezplot auto+tica+ente elige una escala para el e#e y. *ara etiquetar los e#es, haga clic sobre la bara de +enus en la opci5n Insert . ah$ eli#a . Labe* o / Labe* (figura ;!. *ara insertar una le.enda, haga clic sobre el icono de la barra de herra+ientas: . despu-s haga clic sobre un punto del rea del grfico. (eber 6

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

aparecer un rea so+breada, . ah$ puede escribir la le.enda que desee. *uede hacer clic sobre esta . arrastrarla sobre el grfico para colocarla en donde +s le convenga.

Figura 0 Eti uetando los ejes de una gr!fica

*ara ver que sucede con la grfica de la funci5n f(x) si se le agrega una constante, grafique+os la funci5n g ( x ) = .8 x + >.G . %o+o desea+os co+parar, para que a+bas grficas se presenten en una +is+a ventana de graficaci5n, se debe e#ecutar el co+ando1 >> hold on . despu-s1 >> ezplot(1.2*x+1.9,[0 2]) Ahora grafique una tercera funci5n a la cual ha +odificado la pendiente, haci-ndola +s pequeLa. E+plee ezplot para graficar la funci5n h ( x ) = >.7 x + .8 en el intervalo B>,8C. Hinal+ente grafique una funci5n lineal con pendiente negativa. E+plee los co+andos correspondientes para graficar la funci5n j ( x ) = >.; x + 8 en el intervalo B>, 8C. E#ecute los co+andos1 >> hold off >> title Su nombre, grupo y fecha Iuarde en un archivo e i+pri+a su grfica. *ara hacerlo, haga clic en la barra de +en9s Fi*e . eli#a las opciones 1a&e . 2rint. E0a+inando la grfica que constru.5, en alg9n punto de esta, las grficas de las funciones h(x! . j(x! se intersectan. *ode+os usar MATLAB para encontrar las coordenadas ( x"y! de este punto.

<

MATLAB Bsico

Prof. Daniel Martnez G.

Mayo Junio 2005

La coordenada x debe satisfacer la igualdad >.7 x + .8 = >.; x + 8 . *ara encontrarla, e#ecute el siguiente co+ando1 >> solve(0.5*x+1.2=-0.4*x+2) *ara encontrar la coordenada y pode+os sustituir en cualquiera de las funciones h(x! o j(x! la coordenada x encontrada. *ara ello, pode+os escribir1 >> 0.5*ans+1.2 ans es una variable que MATLAB genera in+ediata+ente despu-s de haber co+pletado un clculo. /e debe tener cuidado cuando se traba#a con ella, pues se refresca cada ve" que se e#ecuta un co+ando. Esto puede dar pie a que se obtengan resultados err5neos, pues se puede e+plear un valor diferente al que se deseaba e+plear. *ara finali"ar este e#ercicio encuentre las coordenadas (x"y! del punto donde se intersectan las grficas de las funciones g(x! . j(x!.