1. Introducción 2. Comandos básicos para gráficos 2D

Anuncio
Departamento de Matemática Aplicada
FUNDAMENTOS DE MATEMATICAS.
Ingenierı́a Quı́mica (Curso 2005-06)
Gráficas con Matlab. Práctica 2
1.
Introducción
Con el programa MATLAB podemos dibujar gráficas de curvas y funciones en el plano y en el espacio en
múltiples formatos y con diferentes presentaciones. Por ejemplo, podemos representar gráficas de funciones en
coordenadas cartesianas, dadas en forma explı́cita, es decir, de la forma y = f (x) (aunque no se pueden dibujar
directamente curvas en forma implı́cita, es decir, de la forma g(x, y) = 0), curvas en forma paramétrica, es decir,
de la forma ~r(t) = (x(t), y(t)) con a ≤ t ≤ b y curvas en coordenadas polares, de la forma r = r(θ) con θ1 ≤ θ ≤ θ2 .
Al final hemos incluido dos secciones que muestran como representar curvas en el espacio y gráficas de funciones
de dos variables, respectivamente.
2.
Comandos básicos para gráficos 2D
Para dibujar una gráfica 2D con MATLAB los pasos básicos son los siguientes:
En primer lugar hay que generar una tabla de valores para la x y para la y de la función a dibujar, por ejemplo,
>>x=linspace(0,2*pi,30);
>>y=sin(x);
A continuación utilizar un comando para dibujar, que puede ser,
>>plot(x,y)
>>bar(x,y)
>>stairs(x,y)
>>stem(x,y)
que generarı́an cada una de las cuatro gráficas siguientes:
Comando plot
Comando bar
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
0
2
4
6
−1
−2
8
0
2
Comando stairs
1
0.5
0.5
0
0
−0.5
−0.5
0
2
4
6
8
Comando stem
1
−1
4
6
−1
8
0
2
4
6
8
Figura 1: Gráficas 2D
El color y el estilo de las lı́neas que se utilizan para hacer las gráficas se pueden modificar, por ejemplo, con el
comando
>>plot(x,y,’r:’)
obtenemos la gráfica en color rojo y punteada, en lugar de con lı́nea continua. Para ver los colores y estilos
disponibles consultar el comando plot:
4
>>help plot
3.
Coordenadas cartesianas
Ejemplo 1 Dibujar la gráfica de la función
y = x2
Creamos una tabla de valores:
>>x=linspace(-3,3,40);
>>y=x.^2;
Y ahora utilizamos alguno de los comandos de dibujo, por ejemplo,
>>plot(x,y,’m’)
que producirá una gráfica en color magenta.
Ejercicio 1 Dibujar las gráficas de las siguientes funciones eligiendo, en cada caso, una tabla de valores adecuada
para que aparezcan los aspectos más representativos de la función:
a) f (x) = x(x2√+ 4)2
b) f (x) = x − x
log x
c) f (x) =
x
x(x − 2)
d) f (x) =
(x +
1)(x
− 2)
1
e) f (x) = sen
x
x
f ) f (x) = |x−1|
e
4.
Ecuaciones paramétricas
Ejemplo 2 Dibujar la gráfica de la curva
~r(t) = (cos(t), sen(t)) ;
−π ≤ t ≤ π
En primer lugar generamos los valores de t en el intervalo indicado,
t=linspace(-pi,pi,100);
Y ahora lo podemos dibujar de dos formas distintas:
>>plot(cos(t),sin(t))
o bien,
>>comet(cos(t),sin(t))
Los dos comandos producen el mismo resultado, sin embargo la forma de ejecución es diferente, la segunda es
más divertida. También podemos dibujar los vectores velocidad con el comando quiver (que quiere decir “carcaj”),
pero conviene reducir el número de puntos:
>>t=linspace(-pi,pi,15);
>>quiver(cos(t),sin(t),-sin(t),cos(t))
Ejercicio 2 Dibujar las curvas en paramétricas siguientes, en los apartados a) y b) dibujar además los vectores
velocidad, utilizando el comando quiver:
a)~r(t) = (2 cos3 t, 2 sen3 t);
−π ≤ t ≤ π
b)~r(t) = (3 sen t, 2 sen(2t));
−π ≤ t ≤ π
5
t 2
t 2
t 2
12( ) − 9 , (( ) − 1)16( ) + 2
;
c)~r(t) =
π
π
π
3
d)~r(t) =
cos t(cos t + 1), 2 sen(2t) ;
−π ≤ t ≤ π
2
t
π
−3 ≤ t ≤ 3
e)~r(t) = (sen(2t) + sen t, − cos(2t) − cos t);
−π ≤ t ≤ π
t
t
−π ≤ t ≤ π
f )~r(t) = e 4 sen(2t), e 4 cos(2t) ;
2
7t 2
7
g)~r(t) =
t cos( ), t sen( ) ;
−π ≤ t ≤ π
3
2 3
t
11
22
h)~r(t) = t −
sen(3t), − cos(3t) ;
−3π ≤ t ≤ 3π
10
10
5.
Curvas en el espacio
Se generan de una manera similar a las curvas en el plano, con la diferencia de que aquı́ se utilizan los comandos
plot3 o comet3, también existe un comando quiver3 para dibujar vectores velocidad sobre las curvas.
Ejemplo 3 Dibujar la curva
~r(t) = (sen(t), cos(t), t)
0 ≤ t ≤ 4π
y sobre ella los vectores velocidad.
Generamos los valores de t:
>>t=linspace(0,4*pi,500);
Y ahora podemos utilizar dos comandos, plot3 que nos da el dibujo completo:
>>plot3(sin(t),cos(t),t)
O bien, comet3 que funciona de manera análoga a como lo hacı́a el comando comet en las curvas en el plano.
>>comet3(sin(t),cos(t),t)
Para dibujar algunos vectores velocidad sobre la curva hay que utilizar el comando quiver3(vector posicion,vector
velocidad). También conviene volver a generar los valores de t de manera que no sean demasiados para que se
pueda apreciar mejor la gráfica:
>>t=linspace(0,4*pi,20);
>>quiver3(sin(t),cos(t),t,cos(t),-sin(t),1)
Ejercicio 3 Representar las curvas siguientes y representar en gráfica aparte algunos vectores velocidad de la curva
en los intervalos indicados:
a)~r(t) = (2 cos3 t, 2 sen3 t, t)
− 4 ≤ t ≤ 3.
1
sen t)
4
t
t
t
c)~r(t) = ( cos t, sen t, )
6
6
36
b)~r(t) = (cos t, 2 cos2 t,
− π ≤ t ≤ π.
− 12 ≤ t ≤ 19.
t
t
t
d)~r(t) = (e 4 sen(2t), e 4 cos(2t), )
4
− 10 ≤ t ≤ 4,8.
t
e)~r(t) = (sen(2t) + sen(t), − cos(2t) − cos(t), )
6
f )~r(t) = (cos(3t), 2 cos2 (t), sen(2t))
− 9 ≤ t ≤ 10.
− π ≤ t ≤ π.
6
6.
Gráficos de funciones z = f (x, y)
Para dibujar gráficos de funciones de dos variables z = f (x, y), al igual que para funciones de una variable, en
primer lugar hay que generar tablas de valores para las variables x e y. En realidad ahora lo que tenemos que hacer
es generar un mallado sobre un rectángulo del plano XY . Para eso se utiliza el comando meshgrid.
Por ejemplo, queremos dibujar la gráfica de la función
z = e−x
2
−y 2
en la región del plano D = {(x, y)/ − 2 ≤ x ≤ 2, − 3 ≤ y ≤ 3}
Habrá que efectuar los pasos siguientes:
Generamos el mallado
>>[x,y]=meshgrid(-2:.2:2,-3:.2:3);
Sustituimos en la función para calcular los valores de z:
>>z=exp(-x.^2-y.^2);
Y ahora podemos dibujar el gráfico con alguno de los siguientes comandos:
>>plot3(x,y,z)
>>mesh(x,y,z)
>>surf(x,y,z)
>>surf(x,y,z),shading flat %efecto de sombreado distinto
Ejercicio 4 Representar las gráficas de las siguientes funciones de 2 variables, utilizando alguno de los comandos
descritos anteriormente.
1
a)z =
9 + x2 + y 2
p
b)z = − |xy|
2
2
cos( x +y
)
4
c)z =
2
3 + x + y2
d)z =
y2
− 3|x|
5
e)z = e−(x
2
+y 2 )
7
Descargar