analisis numerico

28
UNIDAD 2: GRAFICAS CON SOFWARE MATEMATICO Como la mayor parte de lasecuaciones matemáticas expresa relaciones complicadas en una, dos, tres 0 más dimensiones, tratar de grá cas es casi lo mismo que tener los ojos vendados. El empleo de importante desde la educación primaria hasta la superior, así como para ingenieros y cienti cos proesionales por la misma ra!ón. En las pr proesionales, casi lodos los análisis matemáticos, cienti cos y de presentan con grá cas. "urante las #ltimas tres d$cadas, en las que %ortran domin$ entre l de computación, las grá cas estuvieron desaortunadamente muy desli los cálculos. &or ello, muchos usuarios de %ortran se vieron o'liga resultados calculados en orma ( de listados de n#meros. )as grá cas son ahora una parte natural del entorno de comp *+ )+-, y la gra cación de los resultados de los cálculos puede ee con algunos comandos. e recomienda a los lectores gra car las unciones matemáticas con tope, asi como los resultados de análisis. ratar de entender las e matemáticas con grá cas es una orma agrada'le y muy e ciente de ap matemáticas. Este capítulo se escri'ió con la intención de ayudar a precisamente esto. +ntes dc desarrollar el capítulo, el lector de'e tomar nota de lo comandos de grá cas siguen en vigor incluso despu$s de ha'er termin gra car y pueden intererir tra'ajos posteriores. Es posi'le que cl de *+)+- se haga impredeci'le despu$s de utili!arse algunos comand hold on o su'plot, o que se interrumpa a'ruptamente la ejecución de recomienda a los lectores 'orrar las varia'les y las ventanas dc gr iniciar cualquier tra'ajo de gra cación. i aun asi *+ )+- se compo extra/a, salga por completo de *+)+- y á'ralo otra ve!. 2.1 GRAFICACION SIMPLE Gra car: upongaque desea gra car un conjunto de puntos de datos, x,1,y,12, i 3 4, 5, ...n. Es necesario preparar x y y en orma de decir, convertirlos en arreglos de la o de columna de la misma lon se gra cán con plot. &or ejemplo, y 3sen x2exp 60.7x2, 0 8 x 9 :0, el listado 5.4

description

unidad 1,2 y 3

Transcript of analisis numerico

UNIDAD 2: GRAFICAS CON SOFWARE MATEMATICO

Como la mayor parte de las ecuaciones matemticas expresa relaciones complicadas en una, dos, tres 0 ms dimensiones, tratar de entenderlas sin grcas es casi lo mismo que tener los ojos vendados. El empleo de grcas es importante desde la educacin primaria hasta la superior, as como para ingenieros y cienticos profesionales por la misma razn. En las presentaciones profesionales, casi lodos los anlisis matemticos, cienticos y de ingeniera se presentan con grcas.Durante las ltimas tres dcadas, en las que Fortran domin entre los lenguajes de computacin, las grcas estuvieron desafortunadamente muy desligadas de los clculos. Por ello, muchos usuarios de Fortran se vieron obligados a leer los resultados calculados en forma ' de listados de nmeros.

Las grcas son ahora una parte natural del entorno de computacin con MATLAB, y la gracacin de los resultados de los clculos puede efectuarse con algunos comandos. Se recomienda a los lectores gracar las funciones matemticas con las que se tope, asi como los resultados de anlisis. Tratar de entender las ecuaciones matemticas con grcas es una forma agradable y muy eciente de aprender matemticas. Este captulo se escribi con la intencin de ayudar al lector a hacer precisamente esto.Antes dc desarrollar el captulo, el lector debe tomar nota de lo siguiente. Algunos comandos de grcas siguen en vigor incluso despus de haber terminado de gracar y pueden interferir trabajos posteriores. Es posible que cl comportamiento de MATLAB se haga impredecible despus de utilizarse algunos comandos como hold on o subplot, o que se interrumpa abruptamente la ejecucin de un guin. Sc recomienda a los lectores borrar las variables y las ventanas dc grcas antes dc iniciar cualquier trabajo de gracacin. Si aun asi MATLAB se comporta de forma extraa, salga por completo de MATLAB y bralo otra vez.

2.1 GRAFICACION SIMPLE

Gracar: Suponga que desea gracar un conjunto de puntos de datos, (x,-,y,-), i = 1, 2, ...n. Es necesario preparar x y y en forma de arreglo idntica, es decir, convertirlos en arreglos de la o de columna de la misma longitud. Los datos se gracn con plot. Por ejemplo, y =sen(x)exp(0.4x), 0 3 x I0, se graca con el listado 2.1

Listado 2.1x= 0:0.0. 5:10y = sin(x).*exp (-0. 4*x)plot (x, y)Xlabel ('x') ; y1abel(y' )

Tambin se pueden utilizar vectores de columna en los argumentos de plot, como se muestra en el siguiente guin:Listado 2.1x= 0:0.0. 5:10y = sin(x).*exp (-0. 4*x)plot (x, y)Xlabel ('x') ; y1abel(y' )

Los dos guiones anteriores producen la misma grca, que se muestra en la gura 2.1. Los rtulos de los ejes se imprimen mediante los comandos Xlabel y ylabel, que se explicarn mayor detalle posterionnente. La gura 2.2 se graca con el listado 2.3 que conecta una de puntos en un plano complejo.

Listado 2.3p=0: 0.05: 8*pi;z=(cos (p) + i*sin (2*p) ) .*exp (-O . O5*p) + 0. Ol*p;plot (real (z) , imag(z))xlabel('Re(z)');ylabe1('Im(z)')

Gracacin nicamente con marcas: Los datos pueden gracarse slo con marcas sin conectados por lneas. Se dispone de cinco tipos de marcas o letras:

Si desea gracar con un _solo tipo de marca, coloque el smbolo de la marca como una cadena despus de las coordenadas en los argumentos de plot. La grca producida por el listado 2.4 se muestra en la gura 2.3.

Listado 2.4X = (0:0.4:l0)';y=sin(x) .*exp (0 . 4*x);plot (X/y. ' +') xlabe1('x'); y1abe1('y')

Si desea gracar una funcin tanto con lneas como con una marca, grafique dos veces: la primera con lneas y la segunda slo con marcas. Para gracar de este modo, el ltimo enunciado del listado 2.4 se cambia a plot (x,y , x, y , + ) . El comando text sirve para gracar con cualquier marca o letra; sin embargo, la posicin de la marca puede estar desplazada un poco de la posicin real de punto de datos.Tipos y colores de lneas: Se dispone de cuatro tipos de lneas:

El tipo de lnea por omisin es el continuo. Si desea gracar con un tipo de lnea en particular, especique la marca de lnea despus de las coordenadas; por ejemplo,plot (x,y, ' u)Se dispone de los siguientes colores:

Utilice el smbolo del color igual que los tipos de lnea en el argumento de plot; porEjemplo,plotb (x, y, 'g )

Tambin es posible combinar marcas y colores:plot (x.y,'+g)graca los datos con marcas + de color verde.

Graficacin de funciones con fplot: Otra forma de gracar funciones individuales es con fplot (' nombre, [xmin, xmax] ), donde nombre es el nombre de la funcin o del archivo M de funcin que se desea gracar y xmn y xmax son los lmites de la grca. El mximo y el mnimo del eje y est determinado por el mximo y el mnimo reales de la funcin; sin embargo, es posible ajustar los lmites de la grca con axis, que se explicar en breve.Borrado de grcas: clf borra todo lo que haya en la ventana de grcos, mientras que cla borra las curvas gracadas y redibuja los ejes. Funciones implcitas: Si una funcin est en forma implcita, como por ejemplo y3 + exp(y) = tanh(x) No se puede expresar como x en funcin de y ni como y en funcin de x. No obstante, la curva se puede gracar utilizando contour. En la seccin 2.3 detallaremos este procedimiento.

Eje: El mnimo y el mximo de las coordenadas, las marcas de escala y los valores de las coordenadas en las marcas de escala se determinan automticamente. Sin embargo, es posible modicar la forma del marco y el mnimo y el mximo de las coordenadas con la orden axis. Se puede redibujar una gura en forma cuadrada con axis ( ' square)(vase la gura 2.4). Los ejes de coordenadas y las marcas de escala pueden omitirse con axis ( ' of f ) Este efecto se cancela con axis ( ' on ' ) .El mximo y el mnimo de las coordenadas en la grca se pueden especicar conaxis ( [x_min , x_max , y_mn , y_max] ) Las lneas que se salgan de los lmites se recortarn. Este comando se utiliza despus de plot para poder modicar el rea de visualizacin tantas veces como se desee. Se sugiere al lector anexar axis ( [-2 , 6 , -0 .7 , o .71 ) al listado 2.4 para ver cmo axis lmita las fronteras de la gura.Retcula: Se puede agregar una retcula a la grca con gz id on. Por otro lado, gr id of f elimina la retcula. El empleo de gI id por s solo activa y desactiva la retcula alternadamente. El siguiente guin es un ejemplo del empleo de g: id on:Listado 2.5X = (0:0.2:10)';y=sin(x) .*exp(O.4*x);plot (x, y)grid onxlabel ('x' ) , ylabel ( y )

(Vase la gura 2.5 producida por el listado 2.5.)

Grcas polares: Podemos gracar una funcin en coordenadas polares con polar. La gura 2.6 se graca con el listado 2.6. Listado 2.6t = 0: .05:pi+.01;y = sin (3*t) .*exp (0 . 3*t:);polar (t , y)title(Grfica polar) ygr id

Grcas logartmicas y semilogartmicas: Las funciones pueden gracarse en una escala log-log con loglog. (Vase el listado 2.7 y la gura 2.7.)

Listado 2.8t = . 1: . 1 : 3;semilogy (t, exp(t.*t))gridxlabel(' t ); ylabel ( 'exp(t. *t) ' ); De forma similar, el listado 2.9 produce una grca semilogartmica con x en la escala logartmica.

Listado 2.9t = . 1 : . l z 3 ;semilogx (t, exp (t . *t:))gr i dxlabel(t');ylabe1('exp(t.*t)');

Mltiples curvas: Si quiere gracar dos o ms curvas con una sola orden plot, escriba todos los conjuntos de coordenadas repetidamente en la orden plot:Listado 2.10x = 0 : O . O5 : 5 ;Y = sin (X) iz = cos (x) ;p1ot(x,y, x, z)

Se escogern automticamente tipos o colores de lnea distintos para cada curva. No obstante puede especicarse el color o el tipo de lnea, o la marca, despus de cada par de coordenadas;Por ejemplo,

plot:(x,y, '- -' , x,z, '*')plot(x,y ' : ' , x,z, '*g')plot(x.y. r , x,z. 'y)Los dos listados siguientes ilustran otra forma de gracar mltiples curvas con un solo comando plot:

Listado 2.11x = 0 : O . O5 : 5;Yll. :) = sinlx);y(2, :) = cos(x);plqt (x, y)

Listado 2.12X = (0:0.05:5) ';y(=,l) = sin(x);y(:,2) = cos(x);plot (x. y)

Retencin: Hasta aqu hemos gracado todas las curvas en una sola operacin con un solo comando plot. Sin embargo, a menudo resulta deseable agregar una curva a una grca que ya se traz. Esta gracacin adicional puede realizarse con el comando hold on (vase la gura 2.8).

Listado 2.13X = 0 : 0 . 05 : 5;y = sin (x) .-Plot (x. y) ;hold onz = cos (x) ;plot(x,z, '-")xlabel (x ); ylabel ('y(-) , z (n) ');

Una vez emitido el comando hold on, la grca permanece en la pantalla incluso si se ejecuta otro guin; por tanto, lo prudente es colocar un comando hold of f tanto al principio como al nal del guin; por ejemplo,

Listado 2.14cleaI; clf; hold offx = 0 : 0 . 05 : 5;y = sin (x) ;plot (x. y)hold onz = cos (X)plot: (x, z)hold off

Cuando se gracan varias curvas con hold on, es recomendable especicar mnimos y mximos de las coordenadas en el dominio grfico con el comando axis; de lo contrario, los lmites se determinarn por omisin con base en la primera curva, cosa que podra causar recortes de las dems curvas. Relacin de presin, p(estancamiento)lp(esttica)

El comando hold on tambin resulta muy importante cuando se est preparando una grca que tarda mucho en dibujarse, por la siguiente razn: los comandos para cambiar parmetros de las guras, como los ejes, el mapa de color, los ngulos de perspectiva, el eje de color y otros, se pueden modicar despus de haber gracado una gura.

2.3 CONTORNO DE FUNCIONES BIDIMENSIONALESMalla: Se puede denir una funcin bidimensional z = z(x,y) con puntos discretosmediantez,=z(x,yj) (23.1)donde x1, i = 1, Z, ...m, y yj, j = l, 2, ...n, son puntos en los ejes x y y en orden ascendente. Las intersecciones constituyen una retcula cartesiana. Como ilustracin, consideremos la retcula denida por

x=x,=2+0.2( l), l i 21yi,=yj=2+0.2(l), 1 j 21y valores funcionales denidos por

zij = x. exp(-x y) (23.2)

La funcin anterior se grac en la gura 2.13 con el listado 2.18.

Listado 2.18clear, cl fxa = "Z : . 2 : 2 ;ya = 2 : . 2 : 2 ; [x,y] = meshgrid (xa,ya);z = x .* exp(-x. "2 e y. 2);mesh (x , y , z)title ( sta es una gIfica 3D de z = x * exp (x2 - y"2) ')xlabel ('x' ); ylabel ( y ); zlabel ( ' z);

En el listado 2. l 8 utilizamos meshgr id para crear arreglos bidimensionales, x y y, donde x es un arreglo de las coordenadas x de la retcula y y es un arreglo de las coordenadas y. Estos arreglos x y y sirven para calcular el arreglo bidimensional z.Es muy importante darse cuenta de la correspondencia que existe entre los arreglos bidimensionales, x, y y z, y x_, y y z, respectivamente. El hecho es que x (j , i) , y (j , i) y z (j , i) corresponden ax,, yiJ y z,, respectivamente. Dicho de otro modo, el primer ndice de x, y y 2 cambia en la direccin y, en tanto que el segundo ndice cambia en la direccin x.Es preciso respetar esta regla si se calculan los elementos de z (j . i) con ciclos fo]: /end. El comando mesh del guin anterior puede sustituirse por mesh (z) . El primer ndice de z cambia en la direccin y, mientras que el segundo lo hace en la direccin x.Contorno: Podemos utilizar contorno para gracar el contorno de una funcin en un arreglo bidimensional. La sintaxis bsica es contour (x, y, Z , nivel)

Aqu, z es el arreglo bidimensional de la funcin; x y y son, respectivamente, las coordenadas x y y en arreglos bidimensionales, y nivel es un vector que contiene los niveles de contorno. Las coordenadas x y y tambin pueden ser arreglos unidimensionales, pero aqu tambin se aplica la regla antes mencionada respecto de los ndices de z; es decir, el primer ndice de z cambia en la direccin de y, mientras que el segundo ndice lo hace en la direccin de x. Si la retcula est equiespaciada, una forma ms sencilla es contour ( z) , En este caso, el primero y el segundo ndices cambian en las direcciones y y x, respectivamente. Adems, puede sustituirse nivel por un entero, m, que se interpretar como el nmero de niveles de contorno. Estos niveles se determinan dividiendo los valores mnimo y mximo de z en m-l intervalos. Grca de contorno hecha con contour(x,y,z,nivet)

La gura 2.14 muestra una grca de contorno producida por el listado 2.19, en la que la funcin gracada est denida por la ecuacin 2.3.1 y es la misma de la gura 2.13. Los valores de los contemos de la gura se rotularon con clabel (h , manual ) , que permite al usuario indicar la posicin de los nmeros con el ratn. Los niveles de contorno pueden rotularse automticamente con clabel ( h) .

Listado 2.19cleaI , clc, clf, axis ( ' squane)xm=-2: .2:2; ym=2: .2:2;[x, y] = meshgzid (xm, ym);z = x .* exp(-x.2 - y."2);zmax=max(max(z) ); Zmin=min(min (z) ) ;dz = (Zmax-zmin) /10;nivel = zmin + O . 5*dz: dz: zmax;h=contour (x, y, z , nivel); clabel (h, manual )titleUGrfica de contorno hecha con contou1(x,y, z,nivel) )xlabel ('x' ); ylabel (y)

El comando contour puede servir para gracar una funcin implcita comoy3 + exp(y) = tanh(x)Para gracar la curva, reescribimos la_ ecuacin as:f(x,y) =Y3 + exp(y) tanh(x)y gracamos el contorno de un solo nivel que corresponde a f = 0 (vase la gura 2.15). El siguiente guin ilustra el procedimiento de gracacin:

Listado 2.20clear , clfxm = 3:0.2:3; ym = 2:0.2:1;lx, y] = meshgi: id (xm, yrn);f = y. 3 + exp(y) e tanh(x);contour (x,y, f, [t], 0])xlabel ('x' ); ylabel ('y')

Observe que en el guin anterior el vector [0 , 0] en los argumentos de contour sirve para especicar el nivel del contorno. El nico contorno que nos interesa es el del nivel 0, pero los niveles de contorno deben estar en forma de vector, por lo que repetimos el cero.

Grca vectorial: En ocasiones, las cantidades correspondientes a los puntos de una retcula se dan en forma vectorial. Por ejemplo, la distribucin de velocidades e n un ujo de uido bidimensional se pueden expresar mediante vectores de velocidad en los puntos de la retcula. Los vectores en esos puntos pueden gracarse con quiver y requieren dos componentes, uno para la direccin x y otro para la direccin y. Suponga que estos componentes estn dados por u y v, que son matrices del mismo tamao que x y y. Entonces, los vectores se gracarn con quiver (x,y,u,v, s)

donde s es un factor de escala que es un parmetro del usuario para ajustar la longitud de los vectores. La gura 2.16 ilustra el trazado de los vectores de velocidad en un problema de ujo tpico_(llamado ujo de cavidad con impulso). _La figura muestra tambin curvas de las lneas de flujo hechas con contour. El siguiente guin ilustra las partes esenciales del guion para gracar la gura 2.16.

% (Se omiti la parte anterior del guin en la que se% calculan x, y, s, u y v.)clfL= [-0 . 00577 z-D . 00577 z-O . O54 I 0, O . 0001, O. 00005) ;c=contour (x, y, s, L); % s=funcin de flujoclabel (c)title ( ' funcin de flujo Re=4OO (retcula 51x51) ') xlabel ( direccin x)ylabel ( ' direccin y)axis ( square)hold on % u y v constituyen un vector.

quiver (x(1:2:ni,1:2,ni) , y(1:2:ni,1:2,ni) , ...u(1:2:ni,1:2,ni) , v(l:2:ni,1:2,ni) , 4)En el listado anterior, suponemos que x, y, u y v se calcularon en una parte anterior del guin que no se muestra aqu.

2.4 RETCULA TRIANGULAR Y CONTORNOSUna retcula triangular consta de elementos triangulares y su uso ms comn es en el anlisis de elementos nitos o de volmenes nitos.

Gracacin de una retcula triangular: Necesitamos los dos archivos de datos llamados cell_da y point_da para trazar una retcula triangular. El primer archivo incluye los datos de los elementos triangulares, y el segundo, las coordenadas de los puntos nodales. (En FM 2-1 de la pgina 76 se explican con mayor detalle los archivos.) Cuando se ejecuta el listado 2.21, aparecen dos preguntas. La primera se reere a si se desea numerar o no los elementos; teclee l si desea hacerlo o 0 si no. La segunda pregunta se reere a si se desea numerar o no los puntos; acepte con 1 o niguese con 0. La primera parte de la gura 2.17 muestra la retcula trazada.

Listado 2.21% trazado de retcula triangularcleaR: , clfload cell_daload point_datri_grid(cell_da, point_da, 1.8)

Grfica de contorno en una retcula triangular: Si tenemos una funcin discretadenida en los puntos nodales de una retcula triangular, podemos trazar su contomo con tri_cont de FM 2-2 (pgina 79). Para ejecutar este guin necesitamos dos archivos de datos, cell_da y point_da (los mismos que usamos en m i_cont), y un archivo de funcin adicional, f_da. La segunda parte de la gura 2.17 ilustra la grca de contorno producida por el listado 2.22 empleando tri_cont.

Listado 2.22

% Grfica de contorno en una retcula t]: iangularclear , clfload cell_daload point_daload f__datri_cont (cell_da , point_da , f_da , l . 8)

2.5 RETCULA CURVILNEA Y CONTORNOSSuponga que los valores funcionales de f (x,y) estn dados en los puntos de una retcula,(x,j yij) Por

fi =f(xij, yij)donde = 1, 2, ..., im; y j = 1, 2, jmx son ndices de puntos. El sistema de retcula es una retcula cartesiana si sus lneas son paralelas a los ejes de las coordenadas cartesianas. Por otro lado, si la geometra en cuestin es compleja podemos utilizar puntos de retcula ajustados a fronteras curvas, como se ilustra en la gura 2.18. Una retcula as se denomina retcula curvilnea

La retcula curvilnea y el contorno de fi,j se pueden trazar con g_cont de F M 2.3 (pgina 81). Su sintaxis es: _g_cont (x, y, f , nivel)dondex, y: las coordenadas de los puntos de la retcula.f: arreglo bidimensional de los valores funcionales.nivel: niveles del contorno en forma vectorial.Como demostracin, el lector podra ejecutar el siguiente guin:Listado 2.23clear , clf[x, y, f] = tcLdata;f_max = max (max (f) )f_1nin = min (min ( f) )kmax = 2 0;fOI k=l : kmaxELV (k) = (k-l) /kmax* (f_maxef_min) *0 9999 + f_min;endg_cont (x, y, f, ELV)O %Para responde: automticamente a la pregunta que haceg_cont

En el guin anterior, td_data es un archivo M de funcin que est en FM 2.3 y que genera la reticula y la funcin de ejemplo para nes de demostracin. La grca de contorno trazada por _ listado 2.23 se muestra en la gura 2.19. Los datos f generados por cd_data se pueden graficar con mesh como se muestra en la gura 2.20 o con sur f, que se explica en la seccin 2.6 pero no es posible utilizar contour porque la retcula no es rectangular.

2.4 GRAFICACIN DE MALLA Y DE SUPERFICIESEn esta seccin, estudiaremos los grcos tridimensionales, que se han mejorado notablemente en la nueva edicin para estudiantes y en las ltimas versiones profesionales de MATLAB. que ya presentamos a mesh, aqu lo veremos con mayor detalle.

Grfica de malla de una matriz: La aplicacin ms sencilla de los grcos tridimensionales es la graficacin de una matriz. Consideremos una matriz z de m por n. El elemento j. i) se considera el valor funcional en y = j y x = en el plano bidimensional. Denimos una matriz de muestra con

Entonces,mesh (z)

produce la grca de malla que se muestra en la gura 2.21.

Color por omisin: En una pantalla a color, las lneas que conectan los puntos se colorean con el mapa de color por omisin hsv (iniciales en ingls de mantriz, saturacin, valor). Se asigna rojo a los valores tanto mximo como mnimo de z (i, j ) . Entre el mnimo el mximo, el maximo el color se determma lmealmente en el orden rojo, amarillo, verde, turquesa, azul, magenta, rojo.

2.5 GRFICOS INTERACTIVOSEl elemento fundamental de los grcos interactivos es la capacidad de un programa para leer las coordenadas del apuntador del ratn en cualquier posicin. Esto puede hacerse con ginput en uno de los siguientes formatos:[x.y1 = ginput[x,y,botn] = gnput[x,y,botn] = ginput (n)suponga que se hace clic con el ratn en cierto lugar dentro de una pantalla de grcos. Entonces, [x , y] = ginput acumular un nmero ilimitado de puntos hasta que se pulse la tes. = la return (intro), as que x y y se convertirn en vectores de longitud igual al nmero de puntos acumulados. [x , y , botn] = ginput es lo mismo excepto que tambin se registran los nmeros de botn del ratn. Los nmeros de botn son l, 2 y 3, contando a partir del lado izquierdo del ratn. [x , y , botn] = ginput (n) acumula n puntos, pero puede suspenderse pulsando la tecla retum.

El listado 2.31 ilustra el empleo de ginput. Cuando se ejecuta este listado, el programa espera hasta que se hace clic con el ratn. Si se hace clic con el botn izquierdo, se imprimir una marca + roja en la posicin del apuntador. De forma similar, si se acciona el botn del medio o el derecho, se imprimir una marca o amarilla o una marca * verde, respectivamente. La ejecucin termina si se hace clic con el ratn cuando el cursor est dentro del cuadro en la esquina inferior izquierda de la pantalla. La gura 2.35 ilustra las marcas gracadas con el listado 2.31.

Listado 2.31clear: , clf , hold offaxis( [0, 10, 0, 10] )hold onplot([l.2.Z.l.1] , [2.2.3,3,2])text (1, 1 .6 , Haga clic dentro del cuadro para terminar )while 1[x , y , boton] = ginput (l)if boton=1, plot: (x,y, ' +x ' ) , endif boton=2 , plot (x,y, ' oy ) , endif boton=3 , plot: (x, y , *g) , endif x>1 S x2 & y