Está en la página 1de 24

3 Gráficos de funciones

definidas por una fórmula

3.1 Introducción
Uno de los mayores atractivos de MATLAB es su facilidad para crear gráficas. Como primera
aproximación, vemos aquí una serie de funciones «fáciles de usar» para crear:

1.5

1
30

0.5 1
25

0
20 0.5
−0.5
15
−1 0
10
−1.5
−0.5
5
−2

0
−1
−2.5 1
6
0.5 1 4
−3 6
2 4
0.5
0 0 2
−3.5
0 −2 0
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −0.5 −4
−2
−0.5 −4
−1 −6 −6
−1 v
u

Figura 3.1: Gráficas de curvas


Figura 3.2: Gráficas de curvas Figura 3.3: Gráficas de super-
planas
en el espacio ficies

3.2 Curvas planas

3.2.1 Gráficas de funciones de una variable


La relación
y = f (x), x ∈ [a, b]
donde f : [a, b] 7→ R es una función continua de una variable real, se puede representar gráfi-
camente mediante una curva plana. Cuando una curva viene definida por una relación de este
tipo (con la variable dependiente «despejada») se dice que está definida de forma explícita. Por
ejemplo y = cos(x).
Para dibujar una curva definida por una relación de la forma y = f (x) donde f : [a, b] 7→ R
es una función de una variable real dada por una expresión analítica, se puede usar la función
ezplot de MATLAB, en alguna de estas versiones:

ezplot(f)
ezplot(f,[a,b])

1
3. Gráficos de funciones definidas por una fórmula 2

f es la función a representar y puede ser especificada como sigue:


’expresion’ mediante una cadena de caracteres, delimitada por apóstrofes, contenien-
do la expresión de la función. Ejemplo: ezplot(’sin(x)’).
nombre mediante un «handle» (manejador) de una función, que, a su vez, puede ser
anónima o una M-función (véase Tema 2).

[a, b] (opcional) es el intervalo que recorre la variable independiente. Ejemplo:


ezplot(’sin(x)’,[pi,2*pi]). Si no se especifica el intervalo, la función se represen-
ta en el intervalo [−2π, 2π].

Práctica 1 Representar, usando ezplot, la gráfica de la función

x sen(x2 )
f (x) = en [−2π, 2π]
2

Por defecto, la función ezplot hace variar la variable independiente en el intervalo [−2π, 2π].
Por lo tanto, basta escribir en la línea de comandos

ezplot('sin(x^2)*x/2')
3

−1

−2

−3

−6 −4 −2 0 2 4 6
x

Práctica 2 Representar, usando ezplot, la gráfica de la función

f (x) = ln(x)

La función f (x) = ln(x) no está definida para valores de x ≤ 0. La función ezplot se


limitará a dibujar la función en la parte del intervalo [−2π, 2π] en el que sí está definida:
x ∈ (0, 2π]. Escribe, en la línea de comandos

ezplot('log(x)')
2

1.5

0.5

−0.5

−1

−1.5

−2

0 1 2 3 4 5 6
x

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 3

Práctica 3 (Propuesta) Representar, usando ezplot, la gráfica de la función



f (x) = 1 − x2

Práctica 4 Representar, usando ezplot, la gráfica de la función

x sen(x2 )
f (x) = para x ∈ [0, π]
2

1. Como ejercicio, vamos a escribir un script para hacer esta práctica, y vamos a definir
la función como una función anónima. Crea un fichero de nombre practica4.m que
va a contener las órdenes para hacer el dibujo:

edit practica4.m

(o bien File –> New –> Script y luego File –> Save as –> practica4.m)

2. Dentro del script, define una función anónima

f=@(x) x*sin(x^2)/2;

3. Como el intervalo para representar la función es [0, π], escribimos, también en el script,

ezplot(f,[0,pi])

4. Salva y cierra el fichero. En la línea de comandos de MATLAB, escribe

practica4
1.5

0.5

−0.5

−1

0 0.5 1 1.5 2 2.5 3


x

3.2.2 Curvas definidas implícitamente


Una relación del tipo
f (x, y) = 0

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 4

también puede definir una curva: la formada por los puntos (x, y) del plano sobre los cuales la
función f toma el valor cero. Cuando una curva viene definida de esta manera se dice que viene
definida de forma implícita. Por ejemplo, la ecuación x2 + y 2 = 4 define una circunferencia de
centro el origen y radio 2.
La misma función ezplot sirve para dibujar una curva así definida, usada en alguna de estas
formas:

ezplot(f)
ezplot(f,[a,b])
ezplot(f,[a,b,c,d])

f es la función (de dos variables) que describe la ecuación, y puede ser especificada como
sigue:
’expresion’ mediante una cadena de caracteres, delimitada por apóstrofes, contenien-
do la expresión de la función de dos variables. Ejemplo: ezplot('x^2+y^2-4').
nombre mediante un «handle» (manejador) de una función de dos variables (de nuevo,
anónima o M-función) (véase Tema 2).

[a,b] (opcional) la curva se dibuja en el cuadrado del plano [a, b] × [a, b]. Si no se especifica,
ezplot usa por defecto [a, b] = [−2π, 2π].

[a,b,c,d] (opcional) la curva se dibuja en el rectángulo del plano [a, b] × [c, d].

Práctica 5 Dibujar, usando ezplot, la circunferencia

x2 + y 2 = 7

1. Se trata de una curva definida en forma implícita. Lo primero es escribir la ecuación


en forma homogénea, es decir, con segundo miembro cero:

x2 + y 2 − 7 = 0.

De lo que se trata es de dibujar la curva formada por los puntos del plano sobre los
cuales la función de dos variables f (x) = x2 + y 2 − 7 toma el valor 0. Para ello
basta con escribir en la línea de comandos

ezplot('x^2+y^2-7')
6

0
y

−2

−4

−6
−6 −4 −2 0 2 4 6
x

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 5

2. Utilizando una función anónima, hubiéramos tenido que definir la función de dos
variables f (x, y) = x2 + y 2 − 7, y luego usar ezplot

func = @(x,y) x^2+y^2-7


ezplot(f)

Aunque también sería válido escribir:

ezplot(@(x,y) x^2+y^2-7)

Práctica 6 (Propuesta) Escribir un script que dibuje la curva implícitamente definida por
la ecuación
x2 cosh(y) = 7y + 5 para x ∈ [−10, 10], y ∈ [−5, 15]
utilizando para ello una función anónima.

3.2.3 Curvas definidas por ecuaciones paramétricas


Otra forma de definir una curva plana es mediante sus ecuaciones paramétricas: los puntos
(x, y) que forman la curva vienen dados por dos funciones que dependen de una variable auxiliar,
llamada parámetro:

x = f (t), y = g(t), t ∈ [a, b], t es el parámetro de la curva.

Para cada valor del parámetro t se obtiene un punto de la curva. Por ejemplo, las ecuaciones

x = a + r cos(t), y = b + r sen(t), t ∈ [0, 2π]

describen una circunferencia de centro (a, b) y radio r: para cada valor de t se obtiene un
punto de la circunferencia; cuando t recorre el intervalo [0, π] se obtiene la parte de arriba de
la circunferencia, mientras que cuando recorre [π, 2π], se obtiene la parte de abajo.
Mediante ecuaciones paramétricas es posible describir muchas más curvas y más complicadas
que mediante una ecuación explícita. Algunas serían prácticamente imposibles de visualizar sin
la ayuda de herramientas gráficas informáticas (véase Práctica 8).
Las curvas definidas de esta forma se pueden dibujar también con la función ezplot, en la
forma siguiente:

ezplot(x,y)
ezplot(x,y,[a,b])

x,y son las dos funciones que definen la curva. Pueden ser especificadas, como antes, mediante
sus expresiones o mediantes manejadores.

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 6

[a,b] (opcional) es el intervalo en el que varía el parámetro de la curva, t. Si no se especifica,


ezplot usa por defecto [a, b] = [0, 2π].

Práctica 7 Dibujar, usando ezplot, la curva definida por las ecuaciones (paramétricas)

x(t) = sen(3t), y(t) = cos(t) para t ∈ [0, 2π]

1. Escribiendo directamente en la línea de comandos

ezplot('sin(3*t)','cos(t)')

Se obtendrá la figura de la izquierda. Si t recorriera sólo el intervalo [0, π] se obtendría


la figura de la derecha.
1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
y

−0.2 −0.2

−0.4 −0.4

−0.6 −0.6

−0.8 −0.8

−1
−1 −0.5 0 0.5 1 −1 −0.5 0 0.5 1
x x

2. Otra forma de hacerlo, usando funciones anónimas sería:

funx = @(t) sin(3*t)


funy = @(t) cos(t)
ezplot(funx,funy)

Práctica 8 (Propuesta) Escribir un script que dibuje, usando ezplot y funciones anóni-
mas, la curva definida por las ecuaciones:

x(t) = cos(t) + 1/2 cos(7t) + 1/3 sen(17t)
, para t ∈ [0, 2π]
y(t) = sen(t) + 1/2 sen(7t) + 1/3 cos(17t)

3.2.4 Curvas en coordenadas polares


Recordemos que en el sistema de coordenadas polares la posición de un punto P queda definida
por dos cantidades:

r, que es la distancia de P a un punto fijo, O, llamado polo (o también origen de coorde-


nadas) y

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 7

θ, que es el ángulo que forma el segmento OP con una semirrecta fija de origen O de-
nominada eje polar. Esta semirrecta coincide, normalmente, con la parte positiva del eje
OX.

En tal sistema de coordenadas, al par (r, θ) se le denomina coordenadas polares del punto
P (ver Figura 3.4).

p/2
y
(x ,y)
P (q, r) P
(q, r)
r r

y=rsen(q)
O q q x
0
Polo Eje polar x=rcos(q)

Figura 3.4: Sistema de coordenadas pola- Figura 3.5: Coordenadas cartesianas y po-
res. lares.

Una relación del tipo

r = f (θ), θ ∈ [a, b]

define de forma explícita una curva en coordenadas polares: θ es la variable independiente y r


es la variable dependiente. Por ejemplo r = 3 (constante) es la ecuación de una circunferencia
de centro el origen y radio 3.

MATLAB dispone de la función ezpolar para dibujar curvas en coordenadas polares. Su uso
es análogo a la función ezplot:

ezpolar(f)
ezpolar(f,[a,b])

f es la función a representar f = f (θ). Se especifica en las formas habituales.

[a, b] (opcional) son los límites del intervalo en el que varía θ, es decir donde varía el ángulo.
Si no se especifica, ezpolar toma por defecto [a, b] = [0, 2π].

Práctica 9 Representar, usando ezpolar, la gráfica de la siguiente función definida en


coordenadas polares
r = sen(2θ) cos(3θ), para θ ∈ [0, π]

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 8

ezpolar('sin(2*t)*cos(3*t)',[0,pi])

90
1
120 60
0.8

0.6
150 30
0.4

0.2

180 0

210 330

240 300

270
r = sin(2 t) cos(3 t)

Práctica 10 (Propuesta) Representar usando ezpolar la gráfica de la siguiente función


definida en coordenadas polares

r = 2 sen(6θ), para θ ∈ [0, 2π]

3.2.5 Sobre los nombres de las variables independientes


Se observa que las variables de la expresión de las funciones no tienen que llamarse necesa-
riamente t, x, y o θ. Se puede utilizar cualquier nombre válido de variable. Por ejemplo, el
comando

ezpolar('nombre*sin(nombre)')

dibujará la función r = θ sen(θ) en coordenadas polares. El mismo resultado se obtendría con

func = @(nombre) nombre*sin(nombre);


ezpolar(func)

Por otra parte, cuando se trata de una función de dos variables, y si no se especifica el orden,
MATLAB tomará como primer argumento la primera en orden alfabético y como segundo,
la segunda. Como ejemplo, compruébese cómo las dos órdenes siguientes producen resultados
distintos:

ezplot('1+v/(sin(a)+2)')
ezplot('1+v/(sin(w)+2)')

Esto no sucede si se utilizan funciones anónimas, ya que se indica expresamente el orden de las
variables.

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 9

3.3 Curvas en tres dimensiones


La forma más sencilla de describir matemáticamente una curva tridimensional es mediante sus
ecuaciones paramétricas. Estas ecuaciones describen los valores de las coordenadas (x, y, z) de
cada punto de la curva en función de un parámetro:

 x = f (t)
y = g(t) para t ∈ [a, b]
z = h(t)

En MATLAB se puede usar la función ezplot3 para dibujar tales curvas

ezplot3(x,y,z)
ezplot3(x,y,z,[a,b])

x,y,z son las expresiones de las tres funciones dependientes de t. Se proporcionan en cual-
quiera de las formas habituales

[a, b] es el intervalo donde varía el parámetro t. Si no se especifican, ezplot3 toma por


defecto [a, b] = [0, 2π].

Práctica 11 Dibujar, usando ezplot3, la siguiente curva tridimensional:



x = 3 cos(t), y = t sen(t2 ), z = t, t ∈ [0, 2π]

ezplot3('3*cos(t)','t*sin(t^2)','sqrt(t)')

2.5

1.5
z

0.5

0
10

5 3
2
0 1
0
−5 −1
−2
−10 −3
y
x

Práctica 12 (Propuesta) Dibujar, usando ezplot3, la siguiente curva:

x = cos(t), y = sen(t), z = t, t ∈ [0, 8π]

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 10

3.4 Varias curvas en un mismo cuadro: hold on


En MATLAB cada vez que se dibuja una nueva gráfica se «borra» la anterior. Si se quieren
superponer, se usa el comando hold on del modo siguiente:

comando-de-dibujo-1
hold on
comando(s)-de-dibujo
. . .
hold off

hold on hace que no se borre la gráfica ya existente, de forma que se puede seguir dibujando
encima
hold off anula el efecto de hold on

Práctica 13 Escribir un script para dibujar, en la misma ventana, la gráfica de la función


x sen(x2 )
y= en el intervalo [−4, 4], junto con los ejes de coordenadas.
2

1. Crea un fichero de nombre practica13.m.


2. Dibuja la gráfica de la función y a continuación usa la orden hold on para poder
seguir dibujando encima
ezplot('sin(x^2)*x/2',[-4,4])
hold on
3. El eje de abscisas es fácil de dibujar: es la recta de ecuación y = 0. Dibújalo en el
mismo intervalo que la curva:
ezplot('0',[-4,4])
4. El eje de ordenadas no es la gráfica de ninguna función f : [a, b] → R. Se puede
dibujar, por ejemplo, como la curva implícitamente definida por f (x, y) ≡ x = 0:
ezplot(@(x,y) x,[-4,4])
Piensa en formas alternativas de dibujar el eje OY .
5. No olvides usar al final la orden
hold off
2

1.5

0.5

0
y

−0.5

−1

−1.5

−2
−4 −3 −2 −1 0 1 2 3 4
x

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 11

Práctica 14 (Propuesta) Escribir un script para dibujar, en la misma ventana, las gráficas
de las funciones y = f (x) e y = g(x) junto con los ejes de coordenadas, siendo

f (x) = cos(x), g(x) = x sen(x), x ∈ [−10, 10]

3.5 Varios cuadros en la misma ventana: subplot


La función subplot permite dividir la ventana gráfica en varias subventanas o cuadros y dibujar
por separado en cada una de ellas. La orden

subplot(m,n,k)

crea una «matriz» de m x n cuadros y se dispone a dibujar en el k- ésimo:

m número de filas

n número de columnas

k la ventana activa

Los cuadros se numeran de izquierda a derecha comenzando por la fila de más arriba.

Práctica 15 Representar, usando subplot, las siguientes funciones:


x
f (x) = , g(x) = sen(3x), h(x) = x2 , p(x) = cos(x/2)
2

1. Vamos a escribir las órdenes para esta práctica en un script. Crea un fichero de nombre
practica15.m.

2. Divide la ventana gráfica en 4 cuadros (creando una «matriz» 2 × 2), activa el primero
y dibuja en él la función f :

subplot(2,2,1)
ezplot('x/2',[0,4])

3. Activa la segunda ventana gráfica y dibuja en ella la gráfica de la función y = g(x)

subplot(2,2,2)
ezplot('sin(3*x)')

4. Procede de forma análoga para dibujar las gráfica restantes

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 12

subplot(2,2,3)
ezplot('x^2',[0,4])
subplot(2,2,4)
ezplot('cos(x/2)',[-1,4])
x/2 sin(3 x)

2 1

1.5 0.5

1 0

0.5 −0.5

0 −1

0 1 2 3 4 −5 0 5
x x

x2 cos(x/2)

1
15

10 0.5

5 0

0
−0.5
0 1 2 3 4 −1 0 1 2 3 4
x x

Práctica 16 (Propuesta) Representar, usando subplot, las siguientes funciones, en dos


cuadros distintos:
1
f (x) = , x ∈ [−10, 10], g(x) = x2 , x ∈ [−5, 5]
x

3.6 Modificación del aspecto de una gráfica con coman-


dos
• Una vez hecha la gráfica se pueden modificar los ejes con el comando axis

axis([xmin, xmax, ymin, ymax])

xmin,xmax establece los límites inferior y superior para las abscisas

ymin,ymax establece los límites inferior y superior para las ordenadas

La gráfica se muestra en el rectángulo [xmin,xmax]×[ymin,ymax].


• Los siguientes comandos activan y desactivan los ejes de coordenadas:

axis on
axis off

• Los mismos factores de escala se consiguen con

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 13

axis equal

• La escala por defecto se establece con

axis auto

• La cuadrícula se activa y se desactiva con el comando

grid on
grid off

• Se puede añadir un título y etiquetas a los ejes

title('titulo')
xlabel('Leyenda Eje X')
ylabel('Leyenda Y')

• Se puede añadir también una leyenda explicativa

legend('leyenda')

Práctica 17 Representar, usando ezplot, la gráfica de la circunferencia de radio 2 centrada


en el origen. La gráfica debe aparecer en el rectángulo [−4, 4] × [−3, 3]. Pon tu nombre como
el título de la gráfica, etiquetas a los ejes y una leyenda.

1. Crea un fichero de nombre practica17.m.

2. Recordamos que las ecuaciones paramétricas de una circunferencia de radio r centrada


en el punto (a, b), son:

x = a + r cos(t)
, t ∈ [0, 2π]
y = b + r sen(t)

Representa la circunferencia usando las ecuaciones paramétricas

ezplot('2*cos(t)','2*sin(t)',[0,2*pi])

3. Usa el comando axis para visualizar el rectángulo [−4, 4] × [−3, 3] del plano

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 14

axis([-4,4,-3,3])

4. Añade ahora el título de la gráfica, las etiquetas de los ejes y una leyenda

title('Nombre y Apellidos')
xlabel('Valores de X')
ylabel('Valores de Y')
legend('Circunferencia')
Nombre y Apellidos
3
Circunferencia

Valotes de Y 1

−1

−2

−3
−4 −2 0 2 4
Valotes de X

Práctica 18 (Propuesta) Representar, usando ezplot, la gráfica de la función y = sen(x+


log(x)) en el intervalo [1, 10]. La gráfica debe aparecer en el rectángulo [1, 12] × [−1.5, 1.5]
teniendo la misma escala en ambos ejes. Pon tu nombre como título de la gráfica, etiquetas
a los ejes y una leyenda.

3.7 Superficies

3.7.1 Superficies definidas mediante ecuaciones explícitas


La ecuación
z = f (x, y)
con f : Ω ⊂ R2 7→ R, representa una superficie en el espacio R3 : a cada punto (x, y) del
dominio Ω del plano R2 la función f hace corresponder un valor z que representa la «altura»
de la superficie en ese punto.
En MATLAB, la función ezmesh permite dibujar la superficie z = f (x, y) cuando (x, y) recorre
un rectángulo del plano:

ezmesh(f)
ezmesh(f,[a,b])
ezmesh(f,[a,b,c,d])

f es la expresión de la función (de dos variables) f (x, y). Se puede proporcionar en cualquiera
de las formas habituales.
[a,b] (opcional) establece el rectángulo para dibujar la superficie: [a, b] × [a, b]. Si no se
especifica, ezmesh toma [a, b] = [−π, π].

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 15

[a,b,c,d] (opcional) establece el rectángulo para dibujar la superficie: [a, b] × [c, d]

2 +y 2 )
Práctica 19 Dibujar la superficie z = x e−(x

ezmesh('x*exp(-x^2-y^2)')

0.5

−0.5
3
2
1 3
2
0 1
−1 0
−1
−2 −2
−3 −3
y
x

3.7.2 Superficies definidas mediante ecuaciones paramétricas


Una superficie en el espacio de tres dimensiones puede también venir definida mediante sus
ecuaciones paramétricas:

x = f1 (s, t), y = f2 (s, t), z = f3 (s, t), (s, t) ∈ [a, b] × [c, d]

donde s, t son los parámetros de la superficie.


La misma función ezmesh permite dibujar una superficie así definida :

ezmesh(x,y,z)
ezmesh(x,y,z,[a,b])
ezmesh(x,y,z,[a,b,c,d])

x,y,z son las expresiones de las funciones de dos variables x(s, t), y(s, t) y z(s, t)

[a,b] (opcional) define el dominio en que varían s y t: s, t ∈ [a, b]. Si no se especifica, ezmesh
toma [a, b] = [−2π, 2π].

[a,b,c,d] (opcional) define el dominio en que varían s y t: (s, t) ∈ [a, b] × [c, d], es decir,
s ∈ [a, b] y t ∈ [c, d].

Práctica 20 Dibujar la superficie cilíndrica definida por las ecuaciones paramétricas



 x(t, ϕ) = (2 + cos(t)) cos(ϕ)
y(t, ϕ) = (2 + cos(t)) sen(ϕ) , t ∈ [0, 2π], ϕ ∈ [0, 2π]
z(t, ϕ) = t

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 16

ezmesh('cos(s)*(2+cos(t))','sin(s)*(2+cos(t))','t',[0,2*pi])

z
3

0
3
2
3
1 2
0 1
−1 0
−1
−2 −2
−3 −3
y
x

Práctica 21 (Propuesta) Dibujar la gráfica de la superficie siguiente:



 x(s, t) = cos(s)(2 + cos(t))
y(s, t) = sen(s)(2 + 0.3 cos(t)) , s, t ∈ [0, 2π]
z(s, t) = sen(t)

3.7.3 Representación mediante curvas de nivel de una función de dos


variables
Una forma habitual de representar gráficamente los valores de una función de dos variables,
f (x, y) = 0 es dibujando sus curvas ó líneas de nivel.
Se llama curva de nivel de valor k de la función f : Ω ⊂ R2 → R a la curva formada por
los puntos de Ω sobre los cuales la función f toma el valor k, es decir la curva ímplicitamente
definida por la ecuación
f (x, y) = k
El dibujo de las curvas de nivel correspondientes a un conjunto de valores k proporciona una
buena información del comportamiento de la función f .

En MATLAB la función ezcontour dibuja las curvas de nivel de una función f (x, y):

ezcontour(f)

La función ezcontourf actúa como el anterior, pero rellena con colores los espacios entre curvas

ezcontourf(f)

La función ezmeshc actúa igual que ezmesh , pero dibuja también las curvas de nivel

ezmeshc(f)

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 17

Práctica 22 Dibujar usando ezcontourf la curvas de nivel de la función f (x, y) =


2 2
x e−(x +y ) de la Práctica 19.

ezcontourf('x*exp(-x^2 - y^2)')
3

−1

−2

−3
−3 −2 −1 0 1 2 3
x

Práctica 23 (Propuesta) Dibujar usando ezmeshc la superficie z = f (x, y) y las curvas


de nivel de la función f (x, y), siendo f (x, y) = sen(x/2) sen(y/2).

3.8 Observación importante


Las funciones ez**** que se han presentado en este tema han sido diseñadas para que el usuario
pueda obtener la gráfica de una función o dibujar una curva con suma facilidad y sin tener que
preocuparse en exceso de las exigencias del lenguaje.
Por ello, “corrigen” un buen número de fallos propios de los usuarios noveles, eventuales o poco
cuidadosos.
Por ejemplo, no se produce un error al dar la orden ezplot(’sqrt(x)’,[-3,3]) a pesar de que
la función a dibujar no está definida para valores negativos de x. Como tampoco se produce al
dar la orden ezplot(’1/x’,[-10,10]), aunque esta función no está definida en x = 0, como
en la Práctica 16.
Otro ejemplo, de mucha importancia, es que permite escribir las expresiones de las funciones
de una forma no aceptable en MATLAB para la mayoría de las aplicaciones (esto se entenderá
mejor cuando se estudie el Tema 4 y la forma de escribir las operaciones entre vectores).
Como en casi todas las cosas, lo que se gana en facilidad por un lado se paga en eficacia por
otro. Más adelante se verán órdenes, más básicas que éstas, pero que permiten realizar gráficas
más personalizadas y menos estándar.
El uso de las funciones presentadas en este Tema debería limitarse a ocasiones en que se
desea tener una idea rápida de la forma de una curva o superficie, mediante una sola orden
directamente en la línea de comandos.

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 18

3.9 Soluciones de las prácticas propuestas

Realización de la Práctica 3

El dominio de definición de la función f (x) = 1 − x2 es el intervalo [−1, 1] donde el
radicando es mayor o igual que cero. Obsérvese que ezplot, sin ninguna indicación, dibuja
la gráfica de la función en dicho intervalo:

ezplot('sqrt(1-x^2)')
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1


x

Realización de la Práctica 6

1. Lo primero es escribir la ecuación en forma homogénea (con segundo miembro nulo):

x2 cosh(y) − 7y − 5 = 0

2. Creamos un fichero nuevo de nombre practica6.m. En su interior escribimos

fun = @(x,y) x^2*cosh(y)-7*y-5;


ezplot(fun,[-10,10,-5,15])
15

10

5
y

−5
−10 −8 −6 −4 −2 0 2 4 6 8 10
x

Realización de la Práctica 8

1. Crea un fichero nuevo, de nombre practica8.m

2. En su interior escribe:

funx = @(t) cos(t)+1/2*cos(7*t)+1/3*sin(17*t);


funy = @(t) sin(t)+1/2*sin(7*t)+1/3*cos(17*t);

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 19

ezplot(funx,funy)

1.5

0.5

y
−0.5

−1

−1.5

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2


x

Realización de la Práctica 10

ezpolar('2*sin(6*t)',[0,2*pi])
90
2
120 60

1.5

150 1 30

0.5

180 0

210 330

240 300

270

r = 2 sin(6 t)

Realización de la Práctica 12

ezplot3('cos(t)','sin(t)','t',[0,8*pi])

30

25

20

15
z

10

0
1

0.5 1
0.5
0
0
−0.5
−0.5
−1 −1
y
x

Realización de la Práctica 14

1. Crea un fichero de nombre practica14.m.

2. Dibuja la gráfica de la función y = f (x) y activa hold

ezplot('cos(x)',[-10,10])
hold on

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 20

3. Dibuja ahora la gráfica de y = g(x)

ezplot('x*sin(x)',[-10,10])

4. Dibuja ahora los ejes de coordenadas y termina desactivando hold

ezplot('0',[-10,10])
ezplot(@(x,y) x,[-10,10])
hold off

5. Salva el fichero y ejecútalo:


8

2
y

−2

−4

−6

−10 −8 −6 −4 −2 0 2 4 6 8 10
x

Realización de la Práctica 16

1. Crea un fichero de nombre practica16.m.

2. Escribe dentro:

% Programacion Cientifica
% practica 16 - Tema 3
%
subplot(1,2,1)
ezplot('1/x',[-10,10])
%
subplot(1,2,2)
ezplot('x^2',[-5,5])
1/x x2
4

25
3

2 20

1
15

10
−1

−2 5

−3
0

−4
−10 −5 0 5 10 −5 0 5
x x

Realización de la Práctica 18

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 21

1. Crea un fichero de nombre practica18.m para este ejercicio:

2. ezplot('sin(x+log(x))',[1,10])
axis([1,12,-1.5,1.5])
axis equal
title('Nombre y Apellidos')
xlabel('Valores de X')
ylabel('Valores de Y')
legend('Gráfica de y=sen(x+log(x))')
Nombre y Apellidos
4 Gráfica de y=sen(x+log(x))

2
Valotes de Y
1

−1

−2

−3

−4
2 4 6 8 10 12
Valotes de X

Realización de la Práctica 21

ezmesh('(2+cos(s))*cos(t)','(2+0.3*cos(s))*sin(t)','sin(t)',[0,2*pi])
axis equal

0.5

0
z

−0.5

3
2
2
1
1
0 0

−1 −1
−2
−2
y x

Realización de la Práctica 23

ezmeshc('sin(u/2)*sin(v/2)')

0.5

−0.5

−1
6
4
6
2 4
0 2
−2 0
−2
−4
−4
−6 −6
y
x

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 22

3.10 Ejercicios
Los resultados de estos ejercicios se pueden comprobar en la página web
http://personal.us.es/echevarria/Curso/Tema3

1. Representar gráficamente las siguientes funciones sobre los intervalos que se indican:
2
a) y = e−x , x ∈ [−2, 2]
b) y = 3x3 + x2 − 8x + 1, x ∈ [−100, 100]
3
c) y = sen(ex ), x ∈ [0, π]
x−1
d) y = 2 , x ∈ [−10, 10]
x +1
e) y = cos(2x) + 12 sen( x2 ), x ∈ [−π, π]
2
f ) y = e−x + 4 − x − 3, x ∈ [0, 5]
r
1−x
g) y =
1+x
h) y = arc sen(x2 − 2), x ∈ [0, 5]

2. Dibujar las siguientes curvas definidas implícitamente

a) f (x, y) = 2x3 y + 3xy − 5, x, y ∈ [−5, 5]


4 3
b) f (x, y) = x + y − 24, x, y ∈ [−6, 6]
c) f (x, y) = x4 + xy + (1 + y)2 x ∈ [−1, 2], y ∈ [−3, 2]
d ) f (x, y) = x4 + x2 − 6x2 y + y 2 , x ∈ [−10, 10], y ∈ [−2, 10]
e) f (x, y) = y 2 − x4 (1 − x)(1 + x), x, y ∈ [−2, 2]

3. Dibujar las siguientes curvas definidas mediante ecuaciones paramétricas

a) x = t2 , y = t − t3 /3, t ∈ [−2, 2]
b) x = t − 3 sen(t), y = 4 − 3 cos(t), t ∈ [0, 10]
c) x = 3 cos(t) − cos(3t), y = 4 sin(t)3 , t ∈ [0, 2π]
d ) x = cos(t) + 1/2 cos(7t) + 1/3 sen(17t), y = sen(t) + 1/2 sen(7t) + 1/3 cos(17t),
t ∈ [0, 2π]
e) x = 17 cos(t) + 7 cos( 17
7
t), y = 17 sen(t) − 7 sen( 17
7
t), t ∈ [0, 14π]
f ) x = 2 cos(t), y = 2 sen(t), t ∈ [0, 2π]
g) x = 5t − 4 sen(t), y = 5 − 4 cos(t), t ∈ [−2π, 2π]
h) x = 4 cos(t) + cos(4t), y = 4 sen(t) − sen(4t), t ∈ [0, 2π]
i ) x = sen(2t), y = sen(3t), t ∈ [0, 2π]
j ) x = sen(4t), y = sen(5t), t ∈ [0, 2π]

4. Dibujar las siguientes curvas en coordenadas polares

a) r = θ, θ ∈ [0, 9π/2]

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


3. Gráficos de funciones definidas por una fórmula 23

b) r = −4 sen(θ), θ ∈ [0, 2π]


c) r = 2 sen(3θ), θ ∈ [0, 2π]
d ) r = 2 + 2 sen(θ), θ ∈ [0, 2π]
e) r = sen(θ/3)3 , θ ∈ [0, 3π]
f ) r = 2 cos(θ/4), θ ∈ [0, 8π]
g) r = −2 cos(θ) + 4 cos(θ) sen(θ)2 , θ ∈ [0, 2π]
h) r = sen(θ) cos(θ/2), θ ∈ [0, 2π]

5. Representar las siguientes curvas en R3

a) x = cos(t), y = sen(t), z = t, t ∈ [0, 8π]


b) x = cos(3t), y = 2 cos(t)2 , z = sen(2t), t ∈ [−π, π]
t
c) x = sen(t) − 2, y = cos(2t) + 1, z = e , t ∈ [0, π]
d ) x = 2 cos(t)3 , y = 2 sen(t)3 , z = t, t ∈ [−4, 3]
e) x = et/4 sen(2t), y = et/4 cos(2t), z = t/4, t ∈ [−10, 4.8]
f ) x = sen(2t) + sen(t), y = − cos(2t) − cos(t), z = t/6, t ∈ [−9, 10]

6. Representar en la misma ventana gráfica las siguientes funciones:

a) f (x) = 2 sen3 (x) cos2 (x) y g(x) = ex − 2x − 3, x ∈ [−1.5, 1.5]


b) f (x) = ln(x + 1) − x y g(x) = 2 − 5x, x ∈ [0, 5]
c) f (x) = 6 sen(x) y g(x) = 6x − x3 , x ∈ [−π/2, π/2]
d ) f (x) = x y g(x) = 2 sen(x) − sen(2x), x ∈ [−π, π]
−x2 +2
e) f (x) = e sen(x/2) y g(x) = −x3 + 2x + 2, x ∈ [−1, 2]
f ) f (x) = −x2 ln3 (x) y g(x) = 2x − x2 − 6, x ∈ [−1.5, 4]

7. Representar las siguientes superficies

a) z = x2 /4 + y 2 /9, x, y ∈ [−π, π]
2 2
b) z = y /25 − x , x, y ∈ [−π, π]
ln(x + 2)
c) z = x, y ∈ [0, 5]
ey+3
p
sen( x2 + y 2 )
d) z = p , x, y ∈ [−2π, 2π]
x2 + y 2
e) z = 4 sen(xy), x, y ∈ [−2, 2]
p
f ) z = 25 − x2 − y 2 x, y ∈ [−2, 2]
cos((x2 + y 2 )/4)
g) z = , x, y ∈ [−2π, 2π]
(3 + x2 + y 2 )
h) x = cos(s) sen(t), y = sen(s) sen(t), z = cos(t), s ∈ [0, 2π], t ∈ [0, π]
2 2
i ) x = s, y = t, z = 2s − 3t , s, t ∈ [−2, 2]

Programación Científica - Grado en Física Dpto. EDAN - Universidad de Sevilla


Índice

3. Gráficos de funciones definidas por una fórmula 1


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3.2. Curvas planas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3.2.1. Gráficas de funciones de una variable . . . . . . . . . . . . . . . . . . . . 1
3.2.2. Curvas definidas implícitamente . . . . . . . . . . . . . . . . . . . . . . . 3
3.2.3. Curvas definidas por ecuaciones paramétricas . . . . . . . . . . . . . . . 5
3.2.4. Curvas en coordenadas polares . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.5. Sobre los nombres de las variables independientes . . . . . . . . . . . . . 8
3.3. Curvas en tres dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Varias curvas en un mismo cuadro: hold on . . . . . . . . . . . . . . . . . . . . 10
3.5. Varios cuadros en la misma ventana: subplot . . . . . . . . . . . . . . . . . . . 11
3.6. Modificación del aspecto de una gráfica con comandos . . . . . . . . . . . . . . . 12
3.7. Superficies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.7.1. Superficies definidas mediante ecuaciones explícitas . . . . . . . . . . . . 14
3.7.2. Superficies definidas mediante ecuaciones paramétricas . . . . . . . . . . 15
3.7.3. Representación mediante curvas de nivel de una función de dos variables 16
3.8. Observación importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.9. Soluciones de las prácticas propuestas . . . . . . . . . . . . . . . . . . . . . . . . 18
3.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

24

También podría gustarte