practica4.nb - WordPress.com

Anuncio
Matemáticas con Mathematica
Práctica 4. Representaciones gráficas en el plano
Jorge Otero González
Instituto Tecnológico Superior de Huauchinango
El comando Plot[ ]
Uno de los aspectos más llamativos de Mathematica es su capacidad para crear fácilmente gráficos de extraordinaria
complejidad. Manejando unos pocos comandos podrás hacer sorprendentes representaciones gráficas y animaciones en
dos y en tres dimensiones. El comando que se utiliza para representar la gráfica de una función de una variable es
Plot[funcion,{x,xmin,xmax},opciones]. Puedes representar varias funciones a la vez escribiéndolas todas en una lista
Plot[{funcion1,funcion2,...},{x,xmin,xmax}].
Plot@x ^ 2, 8x, −1, 1<D
H∗ usamos el comando sin ninguna opción ∗L
Como puedes ver, el comando Plot[ ] representa la gráfica y proporciona la salida "- Graphics - ". Mathematica
almacena en esa salida toda la información de la gráfica. Solamente para satisfacer tu curiosidad vamos a ver lo que
Mathematica ha guardado de la gráfica anterior.
InputForm@%D H∗ recuerda que "%" se refiere a la última
salida ∗L
Lo que Mathematica ha hecho es evaluar la función x2 en una serie de puntos y construir una poligonal
"Line[{punto1,punto2,...}]" formada por los segmentos que unen los correspondientes puntos de la gráfica. Dichos
segmentos son tan pequeños que lo que se aprecia a simple vista parece una curva suave. Al final aparecen una serie de
opciones del comando Plot[ ] con sus valores por defecto. Es justamente su gran cantidad de opciones lo que proporciona versatilidad y potencia al comando Plot[ ]. Aquí las tienes todas.
Options@PlotD
Aunque son muchas, en la práctica es suficiente con conocer unas pocas. Fíjate en que las opciones son reglas de
sustitución de la forma
NombredeOpción Ø ValordeOpción
y todas ellas tienen prefijado un valor por defecto. Si no especificas una determinada opción, Mathematica supone que
quieres utilizar el valor por defecto de la misma. Por ejemplo, Mathematica presupone que no quieres enmarcar la
gráfica "FrameØFalse" (puedes enmarcarla con "FrameØTrue") ni poner etiquetas a los ejes "AxesLabelØNone"
(puedes ponerlas con "AxesLabelØ{"etiqueta eje X","etiqueta eje Y"}"). Los posibles valores de una opción debes
buscarlos en la ayuda del programa. Cuando el valor de una opción es "Automatic" eso significa que se elige por un
algoritmo interno. Vamos a ver las opciones del comando Plot[ ] que se usan con más frecuencia.
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
2
Representaciones gráficas en el plano.
PlotRange
Esta opción permite controlar el intervalo del eje de ordenadas donde se representará la función. Su valor por defecto
es "PlotRangeØAutomatic" lo que indica que al hacer una representación gráfica, Mathematica representará las partes
que considera "más interesantes'' de la misma. Si la función crece muy rápidamente Mathematica puede cortar la
gráfica y no representar las partes donde la función toma valores muy grandes.
Plot@Exp@x ^ 3D, 8x, −1.5, 1.5<D
En esta gráfica Mathematica no ha representado todos los valores de la función.
PlotRangeØAll es la forma de decirle a Mathematica que muestre el intervalo completo del eje de ordenadas donde
toma valores la función.
Plot@Exp@x ^ 3D, 8x, −1.5, 1.5<, PlotRange −> AllD; H∗ el ;
suprime la salida − Graphics − ∗L
Ahora están representados todos los valores que toma la función. Puedes apreciar que en la gráfica anterior Mathematica suprimió una parte "poco interesante" de la misma para poder mostrar mejor otras partes que consideró de "mayor
interés". Observa también la notable diferencia de escalas en los ejes.
Con PlotRangeØ{ymin,ymax} puedes controlar exactamente el rango de valores de la función que se representará en
la gráfica.
Plot@Exp@x ^ 3D, 8x, −1.5, 1.5<, PlotRange −> 80, 2.5<D;
H∗ muestra los valores de la función mayores que 0 y menores
que 2.5 ∗L
Ahora vas a ver cómo con PlotRangeØ{{xmin,xmax},{ymin,ymax}} puedes mostrar detalles de una gráfica; algo
parecido a "hacer zoom'' sobre ella.
Plot@x ∗ Sin@1 ê xD, 8x, −1, 1<D;
La parte más interesante de la gráfica está en los valores próximos a cero.
Plot@x ∗ Sin@1 ê xD, 8x, −1, 1<, PlotRange −> 88−0.1, 0.1<, 8−0.1, 0.1<<D;
PlotPoints
Esta opción permite controlar el número de puntos que usa inicialmente el algoritmo interno de Mathematica para
representar la gráfica. Su valor por defecto es "PlotPointsØ25". Cuando una función oscila mucho puede ser conveniente aumentar este número.
Plot@x ∗ Sin@1 ê xD, 8x, −1, 1<, PlotRange −> 88−0.1, 0.1<, 8−0.1, 0.1<<,
PlotPoints −> 150D;
Puedes modificar el tamaño de una gráfica seleccionándola con el ratón y arrastrando uno cualquiera de los puntos de
control.
AspectRatio
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
3
Representaciones gráficas en el plano.
Esta opción permite controlar la escala, es decir la razón "altura/anchura", con la que se representa la gráfica. Por
defecto Mathematica elige, por razones de apariencia estéticas, la inversa de la razón aúrea "AspectRatioØ1/GoldenRatio" JGoldenRatio =
1+ 5
2
N. Esta opción es apropiada la mayoría de las veces, pero no lo es cuando queremos represen-
tar ciertas curvas con ejes de simetría y queremos que se vean como realmente son. En la celda siguiente representamos juntas las gráficas de las funciones
1 - x2 y -
1 - x2 en el intervalo [-1,1] para obtener la circunferencia
unidad en el plano.
PlotB:
1 − x2 , −
1 − x2 >, 8x, −1, 1<F;
Esto parece una elipse y no una circunferencia. Para que se vea una circunferencia basta escribir "AspectRatioØ
Automatic" esto hace que Mathematica determine la razónn "altura/anchura'' teniendo en cuenta los valores de los
puntos de la gráfica que se va a representar. Si dicha gráfica tiene igual anchura que altura esto hace que se ajuste la
escala "altura/anchura'' igual a 1. Con "AspectRatioØ1" le pedimos a Mathematica que represente un gráfico con
anchura y altura iguales sin tener en cuenta los valores de los puntos de la gráfica que se va a representar (prueba a
representar una elipse con esa opción y parecerá una circunferencia). En algunos casos es indiferente usar "AspectRatioØAutomatic" o "AspectRatioØ1" pero en otros no. Como regla, es preferible usar "AspectRatioØAutomatic".
PlotB:−
1 −x2 ,
1 −x2 >, 8x, −1, 1<, AspectRatio −> AutomaticF;
PlotStyle
Esta opción permite, entre otras cosas, controlar el color y el grosor de las líneas de una gráfica. El color puedes
especificarlo de la siguiente forma.
PlotStyleØRGBColor[número1,número2,número3]
Esto permite escoger un color en función de la cantidad de rojo (número1), verde (número2) y azul (número3), donde
los números pueden tomar cualquier valor entre 0 y 1. También puedes especificar el color de la forma:
PlotStyleØHue[arg]
donde "arg'' puede tomar cualquier valor numérico. La función "Hue" es periódica con período 1, Hue[x]=Hue[x+1], y
asigna a cada valor de su argumento un color desde "Hue[0]" que es rojo, siguiendo los colores del arco iris, anaranjado, amarillo, verde, azul, añil y violeta, y regresando al rojo "Hue[1]".
El grosor se especifica con "Thickness[número]" donde el grosor viene expresado como una fracción de la anchura
total de la gráfica. Por ejemplo, para que las líneas de la gráfica tengan un grosor del 2% de su anchura escribimos
"PlotStyleØThickness[0.02]".
Para especificar varios valores de la opción "PlotStyle" debemos escribirlas todas en una lista. Por ejemplo, para
especificr el color y el grosor de las líneas escribimos "PlotStyleØ{Hue[0],Thickness[0.02]}".
Plot@Cos@xD, 8x, 0, 2 Pi<, PlotStyle −> 8Thickness@0.01D, Hue@.64D<D;
Si representas varias funciones a la vez puedes dar opciones para cada una de ellas escribiéndolas en una lista.
Plot@8Cos@xD, Sin@xD<, 8x, 0, 2 Pi<,
PlotStyle −> 8Thickness@0.01D, Thickness@0.02D<D;
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
4
Representaciones gráficas en el plano.
Plot@8Cos@xD, Sin@xD<, 8x, 0, 2 Pi<,
PlotStyle −> 88Thickness@0.01D, Hue@0D<,
8Thickness@0.02D, Hue@.14D<<D;
El comando Show[ ]
La ejecución de gráficas puede ser lenta y más si son tridimensionales. Para ahorrar tiempo es buena idea asignar
nombre a las gráficas, lo que permite mostrarlos y modificarlos después con el comando Show[graphics,options] sin
necesidad de generarlos de nuevo. Además con el comando Show[ ] puedes representar varias gráficas superpuestas.
g1 = Plot@Sin@xD + Sin@2 xD, 8x, 0, 2 Pi<,
PlotStyle −> 8Hue@0D, Thickness@.01D<D;
g2 = Plot@Sin@xD, 8x, 0, 2 Pi<,
PlotStyle −> 8Hue@0.25D, Thickness@.013D<D;
g3 = Plot@Sin@xD + Sin@4 xD, 8x, 0, 2 Pi<,
PlotStyle −> 8Hue@0.64D, Thickness@.017D<D;
Show@g1, g2, g3D;
Las opciones de Show[ ] son las mismas opciones de Graphics[ ].
Options@GraphicsD
Las opciones que se especifican en el comando Show[ ] prevalecen sobre otras posibles opciones anteriores del mismo
tipo.
graf1 = Plot@Sin@xD, 8x, −Pi, Pi<,
Ticks −> 88−2.5, −1.5, 1.5, 2.5<, Automatic<D;
H∗ especificamos las marcas que queremos en el eje de abscisas
y dejamos que Mathematica las represente a su manera en el
eje de ordenadas ∗L
Show@graf1, Ticks −> NoneD;
H∗ quitamos las marcas en los dos ejes ∗L
El comando Show[ ] no tiene opciones para controlar el color o el grosor de la línea de los gráficos que previamente
has generado. Puedes conseguirlo de una forma indirecta como te indico a continuación.
g4 = Show@g1, g2, g3D ê. 8Hue@x_D −> RGBColor@0, 0, 0D,
Thickness@x_D −> Thickness@0.007D<;
H∗ le decimos a Mathematica que sustituya los valores de
Hue@D y de Thickness@D de cada gráfica por RGBColor@0,0,0D
y Thickness@0.007D ∗L
Show@g4D;
En casos como el anterior lo que nos interesa es la última gráfica y no la primera. Podemos pedirle a Mathematica que
no muestre una gráfica en pantalla. Para eso se usa la opción DisplayFunctionÆIdentity lo que nos obliga después a
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
5
Representaciones gráficas en el plano.
poner DisplayFunctionÆ$DisplayFunction (que es la opción por defecto en los comandos gráficos) con lo que le
decimos a Mathematica que muestre la gráfica en pantalla. Observa la diferencia.
g4 = Show@g1, g2, g3, DisplayFunction −> IdentityD ê.
8Hue@x_D −> RGBColor@0, 0, 0D, Thickness@x_D −> Thickness@0.007D<;
H∗ esta gráfica no se representa ∗L
Show@g4, DisplayFunction −> $DisplayFunctionD;
H∗ pero esta sí ∗L
Animaciones gráficas
Es muy fácil hacer animaciones gráficas con Mathematica para visualizar cómo evoluciona la gráfica de una función
que depende de un parámetro. Por ejemplo, la función Sin[x + n] depende del parámetro n. Podemos representar su
gráfica para distintos valores de n y con ello logramos una buena visualización de su evolución (que en este casó será
una onda que se desplaza). Para que una animación tenga calidad es necesario que todos los gráficos individuales
tengan el mismo tamaño, lo que se logra fijando el mismo intervalo en el eje de abscisas, {x,a,b}, y haciendo que se
representen en el mismo intervalo del eje de ordenadas PlotRangeÆ{c,d}. Podemos también dar un color a cada
gráfico en función del parámetro n lo que puede ser útil para identificar cada uno de ellos. Para ver la animación,
cuando se hayan representado las gráficas selecciona una de ellas con el ratón y haz doble clic. En la esquina inferior
izquierda de la pantalla aparecen unos botones que permiten controlar la velocidad de la animación. Para hacer una
animación podemos usar el comando Table[ ].
Table@
Plot@Sin@x + nD, 8x, 0, 4 Pi<, PlotRange −> 8−1.1, 1.1<,
PlotStyle −> Hue@nDD,
8n, 0, 2 Pi, Pi ê 10<
D;
H∗ observa la forma de escribir el código para que se lea
mejor ∗L
Ejercicio 1
Representa con el comando Plot[ ] juntas en una misma gráfica las funciones seno y coseno en el intervalo
[-2p,2p]. Utiliza las opciones apropiadas para que una de las funciones se represente en azul y otra en rojo.
Una tenga un grosor mayor que la otra. Una se represente a trazos y la otra de forma continua. Utiliza la
opción "PlotLabel" para rotular la gráfica con "funciones seno y coseno". Utiliza "AxesLabel" para etiquetar los ejes con "X" e "Y". Pon color amarillo de fondo usando "Background".
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
6
Representaciones gráficas en el plano.
Ejercicio 2
Representa en una animación gráfica las funciones x3 + a * x2 - 4 x + 1 en el intervalo {x,-2,2} dando
valores al parámetro a desde -2 hasta 2 con incrementos de 0.2 unidades. Fija con PlotRange un intervalo
de representación apropiado y establece con PlotStyle un color de línea para cada gráfica distinto según el
valor del parámetro a.
El comando ParametricPlot[ ]
Una curva en el plano puede definirse por medio de una función gHtL = HxHtL, yHtLL donde xHtL, yHtL son funciones
continuas definidas en un intervalo @a, bD. La curva así definida es el conjunto G = 8HxHtL, yHtL< : t œ @a, bD<. Se dice que
dicha curva está dada en forma paramétrica. Esta es la forma más general de dar una curva en el plano. Observa que la
gráfica de una función f : @a, bD Ø es la curva dada por las ecuaciones paramétricas gHtL = Ht, f HtLL para t œ @a, bD.
Para representar gráficamente una curva dada en ecuaciones paramétricas se usa el comando
ParametricPlot[{x[t],y[t]},{t,a,b}]
Puedes ver las opciones que tiene este comando.
Options@ParametricPlotD
Aquí tienes algunos ejemplos.
ParametricPlot@8Cos@tD, Sin@tD<, 8t, 0, 2 Pi<, AspectRatio −> AutomaticD;
H∗ una circunferencia ∗L
ParametricPlot @8Cos@3 tD, Sin@5 t + 3D<, 8t, 0, 2 Pi<,
PlotStyle −> 8Hue@.25D, Thickness@.006D<D ;
H∗ una curva de Lisajoux ∗L
Para terminar, aquí tienes algunas curvas planas interesantes.
Astroide. Es la curva trazada por un punto fijo de un círculo de radio r que rueda sin deslizar dentro de otro círculo
fijo de radio 4r. Sus ecuaciones paramétricas son.
ParametricPlot@8Cos@tD ^ 3, Sin@tD ^ 3<, 8t, 0, 2 Pi<,
AspectRatio −> AutomaticD;
Cardiode. Es la curva trazada por un punto fijo de un círculo de radio r que rueda sin deslizar alrededor de otro
círculo fijo del mismo radio. Sus ecuaciones paramétricas son.
ParametricPlot@H1 + Cos@tDL 8Cos@tD, Sin@tD<, 8t, 0, 2 Pi<,
AspectRatio −> AutomaticD;
F. Javier Pérez González
Dpto. Análisis Matemático - Universidad de Granada
Representaciones gráficas en el plano.
7
Lemniscata de Bernoulli. Es el lugar geométrico de los puntos del plano P, cuyo producto de distancias a dos puntos
fijos F1 y F2 , llamados focos, verifica la igualdad » P - F1 » » P - F2 » =
1
4
À F1 - F2 »2 . En coordenadas cartesianas
esta curva viene dada por la ecuación Ix2 + y2 M2 = x2 - y2 . Aquí tienes sus ecuaciones paramétricas.
Cos@tD
ParametricPlotB
1 + Sin@tD2
81, Sin@tD<, 8t, 0, 2 Pi<,
AspectRatio −> AutomaticF;
Espiral equiangular. También llamada espiral logarítmica. Es aquella espiral en la que el radio vector corta a la curva
en un ángulo constante a. Sus ecuaciones paramétricas son.
α = Pi ê 2 − 0.2;
ParametricPlot@Exp@t ∗ Cot@αDD 8Cos@tD, Sin@tD<, 8t, 0, 4 Pi<,
AspectRatio −> AutomaticD;
Clear@αD
Cicloide. También conocida como tautocrona o braquistocrona. Es la curva que describiría una chincheta clavada en
una rueda que avanza girando sin deslizar. Sus ecuaciones paramétricas son.
ParametricPlot@8t − Sin@tD, 1 − Cos@tD<, 8t, 0, 2 Pi<,
AspectRatio −> AutomaticD;
Ejercicio 3
Representa con "ParametricPlot[ ]" una elipse cuyo centro es el punto (1,2) y cuyos semiejes tienen longitudes 5 y 3. Usa las opciones que consideres más convenientes.
Descargar