3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig...

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: -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 Figura 3.1: Gráficas de curvas planas -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 0 5 10 15 20 25 30 Figura 3.2: Gráficas de curvas en el espacio -6 -4 -2 0 2 4 6 -6 -4 -2 0 2 4 6 -1 -0.5 0 0.5 1 u v Figura 3.3: Gráficas de super- 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] 7R 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] 7R 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

Transcript of 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig...

Page 1: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

3 Gráficos de funcionesdefinidas por una fórmula

3.1 Introducción

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

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

−3

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

Figura 3.1: Gráficas de curvasplanas

−1

−0.5

0

0.5

1

−1

−0.5

0

0.5

1

0

5

10

15

20

25

30

Figura 3.2: Gráficas de curvasen el espacio

−6

−4

−2

0

2

4

6

−6

−4

−2

0

2

4

6

−1

−0.5

0

0.5

1

uv

Figura 3.3: Gráficas de super-ficies

3.2 Curvas planas

3.2.1 Gráficas de funciones de una variable

La relacióny = 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 estetipo (con la variable dependiente «despejada») se dice que está definida de forma explícita. Porejemplo y = cos(x).

Para dibujar una curva definida por una relación de la forma y = f(x) donde f : [a, b] 7→ Res una función de una variable real dada por una expresión analítica, se puede usar la funciónezplot de MATLAB, en alguna de estas versiones:

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

1

Page 2: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 seranó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

f(x) =x sen(x2)

2en [−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')

−6 −4 −2 0 2 4 6

−3

−2

−1

0

1

2

3

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 selimitará 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)')

0 1 2 3 4 5 6

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x

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

Page 3: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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

f(x) =x sen(x2)

2para x ∈ [0, π]

1. Como ejercicio, vamos a escribir un script para hacer esta práctica, y vamos a definirla función como una función anónima. Crea un fichero de nombre practica4.m queva 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

0 0.5 1 1.5 2 2.5 3

−1

−0.5

0

0.5

1

1.5

x

3.2.2 Curvas definidas implícitamente

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

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

Page 4: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 lafunción f toma el valor cero. Cuando una curva viene definida de esta manera se dice que vienedefinida de forma implícita. Por ejemplo, la ecuación x2 + y2 = 4 define una circunferencia decentro el origen y radio 2.La misma función ezplot sirve para dibujar una curva así definida, usada en alguna de estasformas:

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 comosigue:

’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 + y2 = 7

1. Se trata de una curva definida en forma implícita. Lo primero es escribir la ecuaciónen forma homogénea, es decir, con segundo miembro cero:

x2 + y2 − 7 = 0.

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

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

−6 −4 −2 0 2 4 6

−6

−4

−2

0

2

4

6

x

y

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

Page 5: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 dosvariables f(x, y) = x2 + y2 − 7, y luego usar ezplot

func = @(x,y) x^2+y^2-7ezplot(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 porla 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 unpunto de la circunferencia; cuando t recorre el intervalo [0, π] se obtiene la parte de arriba dela 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 complicadasque mediante una ecuación explícita. Algunas serían prácticamente imposibles de visualizar sinla 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 laforma siguiente:

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

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

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

Page 6: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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íala figura de la derecha.

−1 −0.5 0 0.5 1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

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)y(t) = sen(t) + 1/2 sen(7t) + 1/3 cos(17t)

, para t ∈ [0, 2π]

3.2.4 Curvas en coordenadas polares

Recordemos que en el sistema de coordenadas polares la posición de un punto P queda definidapor 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

Page 7: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 ejeOX.

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

Figura 3.4: Sistema de coordenadas pola-res.

Figura 3.5: Coordenadas cartesianas y po-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 res la variable dependiente. Por ejemplo r = 3 (constante) es la ecuación de una circunferenciade centro el origen y radio 3.

MATLAB dispone de la función ezpolar para dibujar curvas en coordenadas polares. Su usoes 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 encoordenadas polares

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

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

Page 8: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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

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

0.2

0.4

0.6

0.8

1

30

210

60

240

90

270

120

300

150

330

180 0

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

Práctica 10 (Propuesta) Representar usando ezpolar la gráfica de la siguiente funcióndefinida 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, elcomando

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 resultadosdistintos:

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 lasvariables.

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

Page 9: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 susecuaciones paramétricas. Estas ecuaciones describen los valores de las coordenadas (x, y, z) decada punto de la curva en función de un parámetro:

x = f(t)y = g(t)z = h(t)

para t ∈ [a, b]

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 pordefecto [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)')

−3−2

−10

12

3

−10

−5

0

5

10

0

0.5

1

1.5

2

2.5

3

xy

z

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

Page 10: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 quierensuperponer, se usa el comando hold on del modo siguiente:

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

hold on hace que no se borre la gráfica ya existente, de forma que se puede seguir dibujandoencima

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

y =x sen(x2)

2en el intervalo [−4, 4], junto con los ejes de coordenadas.

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 poderseguir 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 elmismo 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 puededibujar, 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

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

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

x

y

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

Page 11: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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áficasde 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 dibujarpor 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:

f(x) =x

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

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

2. Divide la ventana gráfica en 4 cuadros (creando una «matriz» 2×2), activa el primeroy 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

Page 12: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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])

0 1 2 3 4

0

0.5

1

1.5

2

x

x/2

−5 0 5

−1

−0.5

0

0.5

1

x

sin(3 x)

0 1 2 3 4

0

5

10

15

x

x2

−1 0 1 2 3 4

−0.5

0

0.5

1

x

cos(x/2)

Práctica 16 (Propuesta) Representar, usando subplot, las siguientes funciones, en doscuadros distintos:

f(x) =1

x, x ∈ [−10, 10], g(x) = x2, x ∈ [−5, 5]

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 onaxis off

• Los mismos factores de escala se consiguen con

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

Page 13: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 ongrid 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 centradaen el origen. La gráfica debe aparecer en el rectángulo [−4, 4]× [−3, 3]. Pon tu nombre comoel 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 centradaen el punto (a, b), son:

x = a+ r cos(t)y = b+ r sen(t)

, t ∈ [0, 2π]

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

Page 14: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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')

−4 −2 0 2 4−3

−2

−1

0

1

2

3

Valotes de X

Valo

tes d

e Y

Nombre y Apellidos

Circunferencia

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, etiquetasa los ejes y una leyenda.

3.7 Superficies

3.7.1 Superficies definidas mediante ecuaciones explícitas

La ecuaciónz = f(x, y)

con f : Ω ⊂ R2 7→ R, representa una superficie en el espacio R3: a cada punto (x, y) deldominio Ω 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) recorreun 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 cualquierade las formas habituales.

[a,b] (opcional) establece el rectángulo para dibujar la superficie: [a, b] × [a, b]. Si no seespecifica, ezmesh toma [a, b] = [−π, π].

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

Page 15: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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]

Práctica 19 Dibujar la superficie z = x e−(x2+y2)

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

−3−2

−10

12

3

−3

−2

−1

0

1

2

3

−0.5

0

0.5

xy

3.7.2 Superficies definidas mediante ecuaciones paramétricas

Una superficie en el espacio de tres dimensiones puede también venir definida mediante susecuaciones 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, ezmeshtoma [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étricasx(t, ϕ) = (2 + cos(t)) cos(ϕ)y(t, ϕ) = (2 + cos(t)) sen(ϕ)z(t, ϕ) = t

, t ∈ [0, 2π], ϕ ∈ [0, 2π]

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

Page 16: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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])

−3−2

−10

12

3

−3

−2

−1

0

1

2

3

0

1

2

3

4

5

6

7

xy

z

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))z(s, t) = sen(t)

, s, t ∈ [0, 2π]

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

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 porlos puntos de Ω sobre los cuales la función f toma el valor k, es decir la curva ímplicitamentedefinida por la ecuación

f(x, y) = k

El dibujo de las curvas de nivel correspondientes a un conjunto de valores k proporciona unabuena 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

Page 17: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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) =x e−(x2+y2) de la Práctica 19.

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

x

y

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

−2

−1

0

1

2

3

Práctica 23 (Propuesta) Dibujar usando ezmeshc la superficie z = f(x, y) y las curvasde 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 usuariopueda obtener la gráfica de una función o dibujar una curva con suma facilidad y sin tener quepreocuparse en exceso de las exigencias del lenguaje.Por ello, “corrigen” un buen número de fallos propios de los usuarios noveles, eventuales o pococuidadosos.Por ejemplo, no se produce un error al dar la orden ezplot(’sqrt(x)’,[-3,3]) a pesar de quela función a dibujar no está definida para valores negativos de x. Como tampoco se produce aldar la orden ezplot(’1/x’,[-10,10]), aunque esta función no está definida en x = 0, comoen la Práctica 16.Otro ejemplo, de mucha importancia, es que permite escribir las expresiones de las funcionesde 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 porotro. Más adelante se verán órdenes, más básicas que éstas, pero que permiten realizar gráficasmás personalizadas y menos estándar.El uso de las funciones presentadas en este Tema debería limitarse a ocasiones en que sedesea tener una idea rápida de la forma de una curva o superficie, mediante una sola ordendirectamente en la línea de comandos.

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

Page 18: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 elradicando es mayor o igual que cero. Obsérvese que ezplot, sin ninguna indicación, dibujala gráfica de la función en dicho intervalo:

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

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

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

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])

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

0

5

10

15

x

y

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

Page 19: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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

ezplot(funx,funy)

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

−1.5

−1

−0.5

0

0.5

1

1.5

x

y

Realización de la Práctica 10

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

0.5

1

1.5

2

30

210

60

240

90

270

120

300

150

330

180 0

r = 2 sin(6 t)

Realización de la Práctica 12

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

−1

−0.5

0

0.5

1

−1

−0.5

0

0.5

1

0

5

10

15

20

25

30

xy

z

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

Page 20: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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:

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

−6

−4

−2

0

2

4

6

8

x

y

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])

−10 −5 0 5 10−4

−3

−2

−1

0

1

2

3

4

x

1/x

−5 0 5

0

5

10

15

20

25

x

x2

Realización de la Práctica 18

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

Page 21: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 equaltitle('Nombre y Apellidos')xlabel('Valores de X')ylabel('Valores de Y')legend('Gráfica de y=sen(x+log(x))')

2 4 6 8 10 12

−4

−3

−2

−1

0

1

2

3

4

Valotes de X

Nombre y Apellidos

Valo

tes d

e Y

Gráfica de y=sen(x+log(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

−2

−1

0

1

2

3

−2

−1

0

1

2

−0.5

0

0.5

xy

z

Realización de la Práctica 23

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

−6−4

−20

24

6

−6

−4

−2

0

2

4

6

−1

−0.5

0

0.5

1

xy

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

Page 22: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 webhttp://personal.us.es/echevarria/Curso/Tema3

1. Representar gráficamente las siguientes funciones sobre los intervalos que se indican:

a) y = e−x2 , x ∈ [−2, 2]

b) y = 3x3 + x2 − 8x+ 1, x ∈ [−100, 100]

c) y = sen(ex3), x ∈ [0, π]

d) y =x− 1

x2 + 1, x ∈ [−10, 10]

e) y = cos(2x) + 12

sen(x2), x ∈ [−π, π]

f ) y = e−x2+ 4− x− 3, x ∈ [0, 5]

g) y =

√1− x1 + x

h) y = arc sen(x2 − 2), x ∈ [0, 5]

2. Dibujar las siguientes curvas definidas implícitamente

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

b) f(x, y) = x4 + y3 − 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 − 6x2y + y2, x ∈ [−10, 10], y ∈ [−2, 10]

e) f(x, y) = y2 − 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(177t), y = 17 sen(t)− 7 sen(17

7t), 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

Page 23: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

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 ∈ [−π, π]

c) x = sen(t)− 2, y = cos(2t) + 1, z = et, 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 ∈ [−π, π]

e) f(x) = e−x2+2 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 + y2/9, x, y ∈ [−π, π]

b) z = y2/25− x2, x, y ∈ [−π, π]

c) z =ln(x+ 2)

ey+3x, y ∈ [0, 5]

d) z =sen(

√x2 + y2)√

x2 + y2, x, y ∈ [−2π, 2π]

e) z = 4 sen(xy), x, y ∈ [−2, 2]

f ) z =√

25− x2 − y2 x, y ∈ [−2, 2]

g) z =cos((x2 + y2)/4)

(3 + x2 + y2), x, y ∈ [−2π, 2π]

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

i) x = s, y = t, z = 2s2 − 3t2, s, t ∈ [−2, 2]

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

Page 24: 3 Gráficos de funciones definidas por una fórmuladepartamento.us.es › edan › php › asig › GRAFIS › GFIPC › Tema... · 3.Gráficosdefuncionesdefinidasporunafórmula

Índice

3. Gráficos de funciones definidas por una fórmula 13.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2. Curvas planas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

3.2.1. Gráficas de funciones de una variable . . . . . . . . . . . . . . . . . . . . 13.2.2. Curvas definidas implícitamente . . . . . . . . . . . . . . . . . . . . . . . 33.2.3. Curvas definidas por ecuaciones paramétricas . . . . . . . . . . . . . . . 53.2.4. Curvas en coordenadas polares . . . . . . . . . . . . . . . . . . . . . . . . 63.2.5. Sobre los nombres de las variables independientes . . . . . . . . . . . . . 8

3.3. Curvas en tres dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4. Varias curvas en un mismo cuadro: hold on . . . . . . . . . . . . . . . . . . . . 103.5. Varios cuadros en la misma ventana: subplot . . . . . . . . . . . . . . . . . . . 113.6. Modificación del aspecto de una gráfica con comandos . . . . . . . . . . . . . . . 123.7. Superficies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.7.1. Superficies definidas mediante ecuaciones explícitas . . . . . . . . . . . . 143.7.2. Superficies definidas mediante ecuaciones paramétricas . . . . . . . . . . 153.7.3. Representación mediante curvas de nivel de una función de dos variables 16

3.8. Observación importante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.9. Soluciones de las prácticas propuestas . . . . . . . . . . . . . . . . . . . . . . . . 183.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

24