using SymPy # Para el cálculo simbólico.
using Plots # Para el dibujo de gráficas.
using Makie, GLMakie # Para el dibujo de gráficas en 3d.
using ImplicitPlots # Para el dibujo de gráficas de funciones implícitas.
using LaTeXStrings # Para usar código LaTeX en los gráficos.
using LinearAlgebra # Para el módulo y el producto escalar de vectores.
9 Derivadas de funciones de varias variables
9.1 Ejercicios Resueltos
Para la realización de esta práctica se requieren los siguientes paquetes:
Ejercicio 9.1 Dibujar las gráficas de las siguientes funciones.
\(f(x,y) = 2x + 3y\).
AyudaSoluciónusing Plots f(x, y) = x/2 - 2y = ys = range(0, 2, 2) xs surface(xs, ys, f, xlab = "x", ylab = "y", zlab = "z") Plots.
using GLMakie f(x, y) = x/2 - 2y = ys = range(0, 2, 2) xs surface(xs, ys, f) Makie.
\(g(x) = x^2 - y^2\).
Soluciónusing Plots g(x, y) = x^2-y^2 = ys = range(-1, 1, 30) xs surface(xs, ys, g, xlab = "x", ylab = "y", zlab = "z") Plots.
using GLMakie g(x, y) = x^2 - y^2 = ys = range(-1, 1, 30) xs surface(xs, ys, g) Makie.
\(h(x) = \dfrac{\operatorname{sen}(x^2+y^2)}{\sqrt{x^2+y^2}}\)
Soluciónusing Plots h(x, y) = sin(x^2+y^2)/sqrt(x^2+y^2) = ys = range(-pi, pi, 80) xs surface(xs, ys, h, xlab = "x", ylab = "y", zlab = "z") Plots.
using GLMakie h(x, y) = sin(x^2+y^2)/sqrt(x^2+y^2) = ys = range(-pi, pi, 80) xs surface(xs, ys, h) Makie.
Ejercicio 9.2 Dibujar las curvas de nivel de las siguientes funciones.
\(f(x,y) = 2x + 3y\).
AyudaSoluciónusing Plots f(x, y) = x/2 - 2y = ys = range(0, 2, 50) xs contour(xs, ys, f, levels = 7, xlab = "x", ylab = "y", clabels = true) Plots.
using GLMakie f(x, y) = x/2 - 2y = ys = range(0, 2, 50) xs contour(xs, ys, f, labels = true, levels = 0:-0.5:-3) Makie.
\(g(x) = x^2 - y^2\).
Soluciónusing Plots g(x, y) = x^2 - y^2 = ys = range(-1, 1, 100) xs contour(xs, ys, g, levels = 9, xlab = "x", ylab = "y", clabels = true) Plots.
using GLMakie f(x, y) = x^2 - y^2 = ys = range(-1, 1, 100) xs contour(xs, ys, f, labels = true, levels = -1:0.2:1) Makie.
\(h(x) = \dfrac{\operatorname{sen}(x^2+y^2)}{\sqrt{x^2+y^2}}\)
Soluciónusing Plots h(x, y) = sin(x^2+y^2)/sqrt(x^2+y^2) = ys = range(-pi, pi, 80) xs contour(xs, ys, h, xlab = "x", ylab = "y") Plots.
using GLMakie h(x, y) = sin(x^2+y^2)/sqrt(x^2+y^2) = ys = range(-pi, pi, 80) xs contour(xs, ys, h, labels = true, levels = -1:0.2:1) Makie.
Ejercicio 9.3 Dibujar en una misma gráfica la superficie de la función \(f(x,y) = -4x e^{-x^2-y^2}\) y sus curvas de nivel.
using GLMakie
f(x, y) = -4x*exp(-x^2-y^2)
= ys = range(-2, 2, 50)
xs = f.(xs, ys')
zs = minimum(zs)
zmin = Figure()
fig = Axis3(fig[1,1], )
ax = Makie.surface!(ax, xs, ys, zs, transparency = true)
surf wireframe!(ax, xs, ys, zs, color = (:black, 0.1), transparency = true)
Makie.contour!(ax, xs, ys, zs, levels = 20, transformation = (:xy, zmin), transparency=true)
Makie.Colorbar(fig[1, 2], surf, height = Relative(0.5))
fig
Ejercicio 9.4 Sea \(f(x,y)= x^2-2y^2\).
Dibujar la gráfica y el punto \((1, 1, f(1,1))\).
AyudaSoluciónusing GLMakie f(x, y) = x^2 - 2y^2 = ys = range(-2, 2, 30) xs = Figure() fig = Axis3(fig[1,1], azimuth = pi/4) ax surface!(ax, xs, ys, f, transparency = true) Makie.scatter!(ax, Point3(1, 1, f(1,1)), color = :red) Makie. fig
Dibujar el plano \(y=1\) sobre la superficie. ¿Cuál es la curva que resulta de la intersección del plano con la superficie? ¿Cómo es la pendiente de la tangente a esta curva en \(x=1\)?
Solución= [-2 -2; 2 2] xs = [-6 2; -6 2] zs = [1 1; 1 1] ys surface!(ax, xs, ys, zs; colormap = [:orange]) Makie. fig
La curva resultante es la parábola \(f(x) = x^2\). La pendiente de la recta tangente a esta curva en \(x=1\) vale \(2\).
Calcular la derivada parcial de \(f\) con respecto a \(x\) en el punto \((1,1)\).
Soluciónusing SymPy @syms x y subs(diff(f(x,y), x), x => 1, y => 1)
\(2\)
Dibujar el plano \(x=1\) sobre la superficie. ¿Cuál es la curva que resulta de la intersección del plano con la superficie? ¿Cómo es la pendiente de la tangente a esta curva en \(y=1\)?
Solución= [-2 -2; 2 2] ys = [-6 2; -6 2] zs = [1 1; 1 1] xs surface!(ax, xs, ys, zs; colormap = [:magenta]) Makie. fig
La curva resultante es la parábola \(g(y) = -2y^2\). La pendiente de la recta tangente a esta curva en \(y=1\) vale \(-4\).
Calcular la derivada parcial de \(f\) con respecto a \(y\) en el punto \((1,1)\).
Soluciónusing SymPy @syms x y subs(diff(f(x,y), y), x => 1, y => 1)
\(-4\)
Ejercicio 9.5 La presión \(P\) de un gas perfecto depende de la temperatura \(T\) y del volumen que ocupa \(V\) según la función
\[ P(T,V) = \frac{nRT}{V}, \]
donde \(n\) y \(R\) son constantes positivas propias de cada gas.
Calcular la derivada parcial de la presión con respecto a la temperatura. ¿Cómo la interpretarías?
Soluciónusing SymPy @syms n R T V diff(n*R*T/V, T)
\(\frac{R n}{V}\)
Como \(n\), \(R\) y \(V\) son positivos, la derivada parcial es positiva, por lo que si se mantiene el volumen constante y empezamos a aumentar la temperatura, la presión aumentará.
Calcular la derivada parcial de la presión con respecto al volumen. ¿Cómo la interpretarías?
Solucióndiff(n*R*T/V, V)
\(- \frac{R T n}{V^{2}}\)
Como \(n\), \(R\), \(T\) y \(V\) son positivos, la derivada parcial es negativa, por lo que si se mantiene la temperatura constante y empezamos a aumentar el volumen, la presión disminuirá.
Ejercicio 9.6 Dada la función \(f(x,y) = e^{x+y}\operatorname{sen}\left(\frac{x}{y}\right)\), calcular las siguientes derivadas parciales de segundo orden.
\(\dfrac{\partial^2f}{\partial y\partial x}\).
Soluciónusing SymPy @syms x y f(x, y) = exp(x+y)sin(x/y) diff(f(x, y), x, y)
\(\left(- \frac{x \cos{\left(\frac{x}{y} \right)}}{y^{2}} + \frac{x \sin{\left(\frac{x}{y} \right)}}{y^{3}} + \sin{\left(\frac{x}{y} \right)} + \frac{\cos{\left(\frac{x}{y} \right)}}{y} - \frac{\cos{\left(\frac{x}{y} \right)}}{y^{2}}\right) e^{x + y}\)
\(\dfrac{\partial^2f}{\partial x\partial y}\).
Soluciónusing SymPy @syms x y f(x, y) = exp(x+y)sin(x/y) diff(f(x, y), y, x)
\(\left(- \frac{x \cos{\left(\frac{x}{y} \right)}}{y^{2}} + \frac{x \sin{\left(\frac{x}{y} \right)}}{y^{3}} + \sin{\left(\frac{x}{y} \right)} + \frac{\cos{\left(\frac{x}{y} \right)}}{y} - \frac{\cos{\left(\frac{x}{y} \right)}}{y^{2}}\right) e^{x + y}\)
¿Se cumple la igualdad de las derivadas cruzadas?
SoluciónSi, \(\dfrac{\partial^2f}{\partial y\partial x} = \dfrac{\partial^2f}{\partial x\partial y}\), porque ambas derivadas son continuas en todo su dominio.
Ejercicio 9.7 La función \(f(x, y, z) = e^{-x-2y-3z}\) da la temperatura en cada posición \((x,y,z)\) de una habitación.
Si un mosquito está en la posición \((1, 1, 1)\), ¿en qué dirección debe volar para que la temperatura decrezca lo más rápidamente posible? ¿Cuál será la tasa de variación de la temperatura si el mosquito se mueve en esa dirección?
AyudaDebe moverse en la dirección opuesta al vector gradiente de \(f\).
Soluciónusing SymPy, LinearAlgebra @syms x y z f(x, y, z) = exp(-x-2y-3z) = lambdify(diff.(f(x, y, z), [x, y, z])) ∇f println("Dirección de máximo decrecimiento : $(-∇f(1, 1, 1))") println("Tasa de variación en esa dirección: $(-norm(∇f(1, 1, 1)))")
Dirección de máximo decrecimiento : [0.0024787521766663585, 0.004957504353332717, 0.0074362565299990755] Tasa de variación en esa dirección: -0.009274641391805666
using SymPy, LinearAlgebra @syms x y z f(x, y, z) = exp(-x-2y-3z) = [diff(f(x,y,z), i) for i in (x, y, z)] ex = lambdify(ex, (x, y, z)) ∇f println("Dirección de máximo decrecimiento : $(-∇f(1, 1, 1))") println("Tasa de variación en esa dirección: $(-norm(∇f(1, 1, 1)))")
Dirección de máximo decrecimiento : [0.0024787521766663585, 0.004957504353332717, 0.0074362565299990755] Tasa de variación en esa dirección: -0.009274641391805666
Si el mosquito se mueve siguiendo la dirección del vector \((2, -1, 3)\), ¿la temperatura aumenta o disminuye? ¿Cuál será la tasa de variación de la temperatura en esa dirección?
AyudaLa tasa de variación de la función viene dada por la derivada direccional de la función en el punto \((1, 1, 1)\) siguiendo la dirección del vector \((2, -1, 3)\).
Solucióndot(∇f(1, 1, 1), normalize([2, -1, 3]))
-0.005962269466160785
La temperatura disminuye.
Ejercicio 9.8 Calcular las ecuaciones de la recta normal y el plano tangente a la superficie \(x+2y-\ln(z)+4=0\) en el punto \((0,-2,1)\), y dibujarlos.
Usar la propiedad de que el vector gradiente de una función \(f(x,y,z)\) es siempre normal a las curvas de nivel \(f(x,y,z)=0\).
Dibujamos primero la superficie.
using SymPy, GLMakie
@syms x y z
f(x, y, z) = x + 2y - log(z) + 4
= lambdify(solve(f(x,y,z), z)[1])
f1 = range(-0.5, 0.5, 30)
xs = range(-2.5, -1.5, 30)
ys = Figure()
fig = Axis3(fig[1,1], aspect = :data)
ax surface!(ax, xs, ys, f1)
Makie.scatter!(ax, Point3(0, -2, 1), color = :red)
Makie. fig
Calculamos primero la ecuación de la recta normal.
= lambdify(diff.(f(x, y, z), [x, y, z]), [x, y, z])
∇f @syms t
nl(t) = [0, -2, 1] + t * ∇f(0, -2, 1)
println("Ecuación de la recta normal: $(nl(t))")
Ecuación de la recta normal: Sym{PyCall.PyObject}[t, 2*t - 2, 1 - 1.0*t]
Y la dibujamos sobre la misma gráfica de la superficie.
= range(-0.5, 0.5, 2)
ts = Point3.(nl.(ts))
points lines!(ax, points)
Makie. fig
A continuación calculamos la ecuación del plano tangente.
using LinearAlgebra
tp(x,y) = solve(dot(([x, y, z] - [0, -2, 1]), ∇f(0, -2, 1)), z)[1]
println("Ecuación del plano tangente z = $(tp(x,y))")
Ecuación del plano tangente z = x + 2.0*y + 5.0
Y finalmente lo dibujamos en la misma gráfica de la superficie.
surface!(ax, xs, ys, lambdify(tp(x,y)), colormap = ["red"], alpha = 0.5, transparency = true)
Makie. fig
Ejercicio 9.9 La ecuación \(x^3+y^3=8\) define una curva implícita.
Dibujar la gráfica de la ecuación.
AyudaUsar la función
implicit_plot
del paqueteImplicitPlots
para dibujar la gráfica de una función implícita definida por una ecuación.Soluciónusing Plots, ImplicitPlots, LaTeXStrings f(x, y) = x^3 + y^3 - 8 implicit_plot(f, xlab = L"$x$", ylab = L"$y$", legend = false)
Calcular la derivada de \(y\) como función implícita de \(x\).
AyudaLa derivada de \(y\) como función implícita de \(x\) en la ecuación \(f(x,y)=0\) se puede calcular como
\[ \frac{dy}{dx} = -\frac{\partial f/\partial x}{\partial f/\partial y} \]
Soluciónusing SymPy @syms x y = -diff(f(x, y), x) / diff(f(x, y), y) y′
\(- \frac{x^{2}}{y^{2}}\)
Calcular la ecuación de la recta tangente a la curva implícita en el punto \((\sqrt[3]{4}, \sqrt[3]{4})\).
Solución= y₀ = 2^(2/3) x₀ = lambdify(y₀ + subs(y′, y => y₀, x => x₀)*(x-x₀)) tan plot!(tan) Plots.
Ejercicio 9.10 La función \(f(x,y) = x^3+y^3-3xy\) determina la concentración de una sustancia \(z\) en función de las concentraciones de otras dos \(x\) e \(y\) en una reacción química.
Representar la gráfica de la función.
Soluciónusing GLMakie f(x, y) = x^3+y^3-3x*y = ys = range(-0.5, 1.5, 30) xs surface(xs, ys, f) Makie.
Calcular los puntos críticos de la función.
AyudaLos puntos críticos son los puntos que anulan el gradiente. Para resolver el sistema de ecuaciones que resulta de igualar el vector gradiente al vector nulo se pueden utilizar las funciones
linsolve
(para sistemas lineales) ononlinsolve
(para sistemas no lineales) del paqueteSymPy
.Soluciónusing SymPy @syms x y nonlinsolve(diff.(f(x, y), (x, y)), (x, y))
Set{Sym} with 4 elements: (0, 0) (1, 1) (-1/2 - sqrt(3)*I/2, -1/2 + sqrt(3)*I/2) (-1/2 + sqrt(3)*I/2, -1/2 - sqrt(3)*I/2)
Determinar los extremos relativos y los puntos de silla. ¿Para qué concentraciones de \(x\) e \(y\) la concentración de \(z\) será mínima?
AyudaPara determinar los extremos relativos y los puntos de silla de una función de dos variables, hay que calcular el hessiano en los puntos críticos.
SoluciónDefinimos una función para el hessiano.
using LinearAlgebra = lambdify(det(hessian(f(x,y), (x,y)))) hes
#151 (generic function with 1 method)
Calculamos el hessiano en el punto crítico \((0,0)\).
hes(0,0)
-9
Como es negativo, en \((0,0)\) hay un punto de inflexión.
Calculamos el hessiano en el punto crítico \((1,1)\).
hes(1,1)
27
Como es positivo, existe un extremo relativo en \((1,1)\). Para ver si se trata de un máximo o mínimo calculamos \(\frac{\partial^2 f}{\partial x^2}\).
= lambdify(diff(f(x,y), x, x), (x,y)) fxx fxx(1,1)
6
Como es positiva, en \((1,1)\) hay un mínimo. Así pues, la concentración de \(z\) será mínima cuando las concentraciones de \(x\) e \(y\) sean 1.
Ejercicio 9.11 Sea \(f(x,y)=\sqrt{xy}\).
Dibujar la gráfica de \(f\) y el punto \((1, 1, f(1,1))\).
Soluciónusing GLMakie f(x, y) = sqrt(x*y) = b = 1 a = ys = range(0.5, 2, 30) xs = Figure() fig = Axis3(fig[1,1], azimuth = -pi/4, elevation = 0.1) ax surface!(ax, xs, ys, f) Makie.scatter!(ax, Point3(a, b, f(a,b)), color = :red) Makie. fig
Calcular el polinomio de Taylor de primer grado de \(f\) en el punto \((1,1)\) y representarlo gráficamente. Comprobar que se obtiene el plano tangente a la superficie de \(f\) en el punto \((1,1)\).
AyudaLa fórmula del polinomio de Taylor de primer grado de la función \(f(x,y)\) en el punto \((a,b)\) es
\[ P^1(x,y) = f(a,b) + \nabla f(a,b)(x-a, y-b). \]
Soluciónusing SymPy, LinearAlgebra @syms x, y = diff.(f(x, y), [x, y]) ex = lambdify(ex, (x, y)) ∇f p1(s,t) = f(a, b) + dot(∇f(a, b), [s-a, t-b]) surface!(ax, xs, ys, p1; colormap = [:orange], transparency = true) Makie. fig
Utilizar el polinomio anterior para calcular el valor aproximado de \(\sqrt{1.01\cdot 0.99}\). ¿Cuál es el error cometido en la aproximación?
Solución= abs(f(1.01, 0.99) - p1(1.01, 0.99)) error
5.000125006249245e-5
Calcular el polinomio de Taylor de segundo grado de \(f\) en el punto \((1,1)\) y representarlo gráficamente.
AyudaLa fórmula del polinomio de Taylor de segundo grado de la función \(f(x,y)\) en el punto \((a,b)\) es
\[ P^2(x,y) = f(a,b) + \nabla f(a,b)(x-a, y-b) + \frac{1}{2!}\nabla^2f(a,b)(x-a,y-b)(x-a,y-b). \]
Soluciónusing SymPy, LinearAlgebra @syms x, y = lambdify(hessian(f(x,y), (x, y)), (x, y)) ∇²f p2(s,t) = f(a, b) + dot(∇f(a, b), [s-a, t-b]) + 1/2 * dot(∇²f(a,b) * [s-a; t-b], [s-a, t-b]) surface!(ax, xs, ys, p2; colormap = [:magenta], transparency = true) Makie. fig
Utilizar el polinomio anterior para calcular el valor aproximado de \(\sqrt{1.01\cdot 0.99}\). ¿Cuál es error cometido en la aproximación? ¿Es mayor o menor que en la aproximación mediante el polinomio de Taylor de primer grado?
Solución= f(1.01, 0.99) - p2(1.01, 0.99) error
-1.2500624979594477e-9
9.2 Ejercicios propuestos
Ejercicio 9.12 ¿Emparejar las siguientes funciones de dos variables con sus diagramas de contorno?
Ejercicio 9.13 Dada la función
\[ f(x,y,z)=\frac{\ln(\sqrt{\cos(x^2y)})}{z^2}, \]
calcular \(\dfrac{\partial^3 f}{\partial y\partial z\partial x}\) en el punto \((2,\pi,1)\).
Ejercicio 9.14 La velocidad de una reacción química típicamente depende de la temperatura y de la concentración de los reactivos. En una reacción de hidrólisis del acetato de etilo por hidróxido de sodio (NaOH) en una solución acuosa, la velocidad de reacción viene dada por la fórmula \(R(t,a,s)=\frac{t}{3}\sqrt[3]{a^2s^2}\), donde \(t\) es la temperatura de la reacción, \(a\) la concentración de acetato de etilo y \(s\) la concentración de hidróxido de sodio.
¿En qué dirección debe cambiarse la temperatura y las concentraciones de los reactivos para que la velocidad de reacción aumente lo más rápidamente posible si la temperatura y las concentraciones actuales son the 40ºC, 0.4 mol/l y 0.5 mol/l respectivamente?
¿Cómo cambiará la velocidad de reacción en ese instante si la temperatura disminuye al mismo ritmo que aumenta la concentración del acetato de etilo y la concentración de acetato de etilo aumenta la mitad de lo que aumenta la concentración del hidróxido de sodio?
Ejercicio 9.15 La superficie \(\frac{e^{z\cos(xy)}}{xz}=\frac{1}{e}\) define a \(z\) como función implícita \(z=f(x,y)\).
¿Cuál de las siguientes afirmaciones es cierta en el punto \((1,\pi,1)\)?
¿Cuál es la ecuación del plano tangente en el punto \((1,\pi,1)\)?
Ejercicio 9.16 Dada la función \(f(x,y)=-\dfrac{y}{9+x^2+y^2}\), ¿cuál de las siguientes afirmaciones es cierta?
Ejercicio 9.17 Calcular el polinomio de Taylor de segundo grado de la función \(f(x,y)=\operatorname{sen}(x/y)\) en el punto \((\pi/2,1)\) y utilizarlo para calcular el valor aproximado de \(f(1.5,1)\).