using Plots # Para el dibujo de gráficas.
using Makie # Para obtener gráficos interactivos.
using SymPy # Para el cálculo simbólico.
using MTH229 # Para restringir la gráfica de una función a su dominio.
using LaTeXStrings # Para usar código LaTeX en los gráficos.
using Latexify # Para convertir expresiones a código LaTeX.
3 Funciones elementales
3.1 Ejercicios Resueltos
Para la realización de esta práctica se requieren los siguientes paquetes:
Ejercicio 3.1 La siguiente tabla contiene el número de bacterias en un cultivo cada hora que pasa.
Horas | Bacterias |
---|---|
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
Dibujar una gráfica con la evolución del la población de bacterias.
AyudaDefinir los valores de las horas en un vector
x
y el número de bacterias en otroy
y luego utilizar la funciónscater(x,y)
del paqueteMakie
, oscatter(x,y)
del paquetePlots
para dibujar una gráfica de puntos.Soluciónusing GLMakie = 0:7 horas = [1, 2, 4, 8, 16, 32, 64, 128] bacterias = Figure() fig = Axis(fig[1,1], xlabel="Horas", ylabel="Bacterias", title="Evolución de la población de bacterias") ax scatter!(ax, horas, bacterias) Makie. fig
using Plots = 0:7 horas = [1, 2, 4, 8, 16, 32, 64, 128] bacterias scatter(horas, bacterias, xlab="Horas", ylab="Bacterias", title="Evolución de la población de bacterias", legend=false) Plots.
¿Los pares dados en la tabla forman una función?
SoluciónSi, porque para cada hora hay a lo sumo un número de bacterias con el que se relaciona.
¿Qué fórmula crees que explica la evolución del número de bacterias en función de las horas que pasan? Dibuja en la gráfica anterior la función con esa fórmula.
AyudaPara añadir una nueva gráfica a una anterior se añade un signo de exclamación
!
a la función de graficación. Para una gráfica de líneas, utilizar la funciónlines!
del paqueteMakie
, oplot!
del paquetePlots
, pasándole el nombre de la función si se ha definido previamente o la definición anónima de la funciónSoluciónlines!(ax, 0..7, x -> 2^x) Makie. fig
using Plots plot!(x -> 2^x) Plots.
Ejercicio 3.2 En el lanzamiento vertical de un objeto, la posición que ocupa el objeto en cada instante \(t\), viene dado por la función
\[ y(t) = y_0+v_0t+\frac{1}{2}gt^2 \]
donde \(y_0\) es la altura inicial del objeto, \(v_0\) la velocidad inicial con que se lanza, y \(g\) es la aceleración de la gravedad. Una pelota se lanza verticalmente desde la ventada de un edificio a 5 m de altura, con una velocidad inicial de \(10\) m/s.
Dibujar la gráfica de la posición de la pelota en función del tiempo, tomando una aceleración de la gravedad \(g=-9.8\) m/s².
AyudaDeclarar \(t\) como una variable simbólica usando el paquete
SymPy
, definir después las constantes \(y_0\), \(v_0\) y \(g\), y luego definir la función \(y(t)\) mediante la fórmula dada.Para dibujar la gráfica de la función, usar la función lines! del paquete
Makie
o la funciónplot
del paquetePlots
, pasándole el nombre de la función. Como no tienen sentido los instantes negativos, ni las posiciones negativas, restringir la ventana de graficación a valores de \(t\) y de \(y\) positivos usando los parámetrosxlim
eylim
.Soluciónusing GLMakie, SymPy @syms t #Declaramos t como una variable simbólica = 5 y₀ = 10 v₀ const gravedad = -9.8 #Declaramos la gravedad como una constante y0(t) = y₀+v₀*t+ 1/2*gravedad*t^2 = Figure() fig = Axis(fig[1,1], limits=(0, 3, 0, 15), xlabel="Tiempo (s)", ylabel="Altura (m)") ax lines!(ax, 0..3, y0, label="Pelota") Makie. fig
using Plots, SymPy @syms t #Declaramos t como una variable simbólica = 5 y₀ = 10 v₀ const gravedad = -9.8 #Declaramos la gravedad como una constante y0(t) = y₀+v₀*t+ 1/2*gravedad*t^2 plot(y0, xlims=(0,3), ylims=(0,15), label="Pelota", xlab="Tiempo (s)", ylab="Altura (m)") Plots.
Al mismo tiempo que se lanza la pelota, un ascensor exterior baja por la fachada del mismo edificio desde una altura de \(8\) m con una velocidad constante de \(2\) m/s. Dibujar la gráfica de la posición del ascensor junto a la gráfica de la pelota.
AyudaLa función que define la posición del ascensor que baja desde una altura \(y_1\) con una velocidad constante \(v_1\) en cada instante \(t\) es \(y(t) = y_1-v_1t\).
Solución= 8 y₁ = 2 v₁ y1(t) = y₁-v₁*t lines!(ax, 0..3, y1, label="Ascensor") Makie.axislegend() fig
= 8 y₁ = 2 v₁ y1(t) = y₁-v₁*t plot!(y1, label="Ascensor") Plots.
¿En qué instantes el ascensor estará a la misma altura de la pelota? Dibujar los puntos correspondientes a esos instantes en la gráfica anterior.
Solución= float(solve(y0(t)-y1(t))) sol scatter!(ax, sol, y1.(sol), color = :red, label="Intersección") Makie. fig
= solve(y0(t)-y1(t)) sol print("Instantes: ", sol) scatter!(sol, y1.(sol), label="Intersección") Plots.
Instantes: Sym{PyCall.PyObject}[0.282613815574341, 2.16636577626239]
Ejercicio 3.3 El volumen de un globo esférico depende del radio según la función \(v(r)= \frac{4}{3}\pi r^3\).
Calcular la función que expresa el radio en función del volumen y dibujar su gráfica.
AyudaDeclarar las variables simbólicas
r
yv
usando el paqueteSymPy
y definir la funciónvol(r)
que expresa el volumen del globo en función del radio.Después utilizar la función
solve
del paqueteSymPy
para despejarr
de la ecuaciónv-vol(r)=0
.Soluciónusing GLMakie, SymPy @syms r v vol(r) = 4/3*pi*r^3 = lambdify(solve(v-vol(r),r)[1]) rad = Figure() fig = Axis(fig[1,1], xlabel="Volumen (m³)", ylabel="Radio (m)") ax lines!(ax, 0..10, rad) Makie. fig
using Plots, SymPy @syms r v vol(r) = 4/3*pi*r^3 = solve(v-vol(r),r)[1] rad2 plot(rad2, xlim=(0,10), xlab="Volumen (m³)", ylab="Radio (m)", legend=false) Plots.
Si empezamos a introducir helio en el globo de manera que su volumen a los \(t\) minutos viene dado por la función \(v(t)=t^2+2t\), dibujar la gráfica de la función que da el radio en cada instante.
AyudaDeclarar las variables simbólicas
t
usando el paqueteSymPy
y definir la funciónvol(t)
que expresa el volumen del globo en función del tiempo.Después utilizar a el operador de composición \(\circ\) para componer la función del volumen con la función del radio.
Soluciónusing GLMakie vol(t)=t^2+2t = Figure() fig = Axis(fig[1,1], xlabel = "Tiempo (min)", ylabel = "Radio (m)") ax lines!(ax, 0..10, rad∘vol) Makie. fig
using Plots vol(t)=t^2+2t plot(rad2∘vol, xlim = (0,10), xlab = "Tiempo (min)", ylab = "Radio (m)", legend = false) Plots.
Si el globo explota cuando el radio alcanza los 3 m, ¿cuándo explotará el globo?
Solución@syms t = solve((rad∘vol)(t)-3) sol
\(\left[\begin{smallmatrix}-11.6816354332674\\9.68163543326738\end{smallmatrix}\right]\)
El globo explotará a los 9.68163543326738 minutos.
Ejercicio 3.4 Dibujar la gráfica de la función
\[ f(x) = 2x^3-3x^2-12x+4 \]
en el intervalo \([-3,4]\) y determinar, observando la gráfica, lo siguiente:
using GLMakie
f(x) = 2x^3-3x^2-12x+4
= Figure()
fig = Axis(fig[1,1])
ax lines!(ax, -3..4, f, label = L"$f(x) = 2x^3-3x^2-12x+4$")
Makie.()
axislegend fig
using Plots, LaTeXStrings
f(x) = 2x^3-3x^2-12x+4
plot(f, -3, 4, label=L"$f(x) = 2x^3-3x^2-12x+4$") Plots.
Dominio
Solución\(\operatorname{Dom}(f)=\mathbb{R}\)
Imagen
Solución\(\operatorname{Im}(f)=\mathbb{R}\)
Raíces
Soluciónusing SymPy @syms x f(x) = 2x^3-3x^2-12x+4 = solve(f(x)) # Solución exacta raices print(raices) N(raices) # Solución aproximada con decimales
Sym{PyCall.PyObject}[-2, 7/4 - sqrt(33)/4, sqrt(33)/4 + 7/4]
\(\left[\begin{smallmatrix}-2\\\frac{7}{4} - \frac{\sqrt{33}}{4}\\\frac{\sqrt{33}}{4} + \frac{7}{4}\end{smallmatrix}\right]\)
Hay tres raíces en \(x=-2\), \(x=0.31\) y \(x=3.19\) aproximadamente.
Signo
SoluciónIntervalos con \(f(x)\) negativa: \((-\infty, -2)\cup (0.31,3.19)\).
Intervalos con \(f(x)\) positiva: \((-2,0.31)\cup (3.19,\infty)\).Crecimiento
SoluciónIntervalos con \(f(x)\) creciente: \((-\infty, -1)\cup (2,\infty)\).
Intervalos con \(f(x)\) decreciente: \((-1,2)\).Extremos
SoluciónMáximo relativo en \(x=-1\) y el valor máximo es \(f(-1)=11\).
Mínimo relativo en \(x=2\) y el valor del mínimo es \(f(2)=-16\).Concavidad
SoluciónIntervalos de concavidad hacia arriba: \((0.5,\infty)\).
Intervalos de concavidad hacia abajo: \((-\infty, 0.5)\).Puntos de inflexión
SoluciónPunto de inflexión en \(x=0.5\).
Ejercicio 3.5 Dibujar la gráfica de la función
\[ g(t) = \frac{t^4+19t^2-5}{t^4+9t^2-10} \]
en el intervalo \([-8,8]\) y determinar, observando la gráfica, lo siguiente:
Usar la función lines
del paquete Makie
, o la función plot
del paquete Plots
con el parámetro aspect_ratio=1.0
para que los ejes tengan la misma escala.
Para respetar las discontinuidades autilizar la función rangeclamp()
del paquete MTH229
.
using GLMakie
g(t) = (t^4+19t^2-5) / (t^4+9t^2-10)
= Figure()
fig = Axis(fig[1,1])
ax lines!(ax, -8..8, rangeclamp(g), label = L"$g(t) = \frac{t^4+19t^2-5}{t^4+9t^2-10}$")
Makie.()
axislegend fig
using Plots
g(t) = (t^4+19t^2-5) / (t^4+9t^2-10)
plot(rangeclamp(g), -8, 8, aspect_ratio=1.0, ylims=(-5,5) , xticks =Vector(-10:10), yticks = Vector(-5:5), label=L"$g(t) = \frac{t^4+19t^2-5}{t^4+9t^2-10}$") Plots.
Dominio. ¿Qué pasa si aplicamos la función a algún valor fuera de su dominio?
Solución\(\operatorname{Dom}(f)=\mathbb{R}\setminus\{-1,1\}\)
g(-1), g(1)
(Inf, Inf)
Como se observa, al aplicar la función a \(-1\) y \(1\) se obtiene \(\infty\).
Imagen
Solución\(\operatorname{Im}(f)=\mathbb{R}\setminus (0.5,1]\)
Asíntotas. Dibujarlas.
AyudaSolución= Makie.vlines!(ax, [-1,1], color = :red) av = Makie.hlines!([1], color = :green) ah axislegend(ax, [av, ah], ["Asíntotas verticales", "Asíntotas Horizontales"], position = :rb) fig
vline!([-1,1], label="Asíntotas verticales") Plots.hline!([1], label="Asíntotas horizontales", legend=:bottomright) Plots.
Asíntotas verticales en \(x=-1\) y \(x=1\).
Asíntotas horizontales en \(y=1\).
No hay asíntotas oblicuas.Raíces
SoluciónHay dos raíces en \(x=-0.5\) y \(x=0.5\) aproximadamente.
Signo
SoluciónIntervalos con \(f(x)\) positiva: \((-\infty,-1)\cup (-0.5,0.5)\cup (1,\infty)\).
Intervalos con \(f(x)\) negativa: \((-1,-0.5)\cup (0.5,1)\).Crecimiento
SoluciónIntervalos con \(f(x)\) creciente: \((-\infty, -1)\cup (-1,0)\).
Intervalos con \(f(x)\) decreciente: \((0,1)\cup (1,\infty)\).Extremos
SoluciónMáximo relativo en \(x=0\) y el valor máximo es \(g(0)=0.5\).
No hay mínimos relativos.Concavidad
SoluciónIntervalos de concavidad hacia arriba: \((-\infty,-1)\cup (1,\infty)\).
Intervalos de concavidad hacia abajo: \((-1,1)\).Puntos de inflexión
SoluciónNo hay puntos de inflexión.
Ejercicio 3.6 Dibujar la gráficas de las siguientes funciones exponenciales \(2^x\), \(e^x\), \(0.5^x\), \(0.7^x\) y responder a las siguientes preguntas comparando las gráficas.
using GLMakie
= Figure()
fig = Axis(fig[1,1])
ax lines!(ax, -2..2, x -> 2^x, label=L"$2^x$")
Makie..lines!(ax, -2..2, exp, label=L"$e^x$")
Makielines!(ax, -2..2, x -> 0.5^x, label=L"$0.5^x$")
Makie..lines!(ax, -2..2, x -> 0.7^x, label=L"$0.7^x$")
Makieaxislegend(position = :lt)
fig
using Plots, LaTeXStrings
plot(2^x, -2, 2, label=L"$2^x$")
Plots..plot!(exp(x), label=L"$e^x$")
Plotsplot!(0.5^x, label=L"$2^x$")
Plots..plot!(0.7^x, label=L"$2^x$") Plots
¿Cuál es el dominio de una función exponencial?
Solución\(\mathbb{R}\).
¿Cuál es la imagen de una función exponencial?
Solución\(\mathbb{R}^+\).
¿Cómo es el crecimiento de una función exponencial?
Solución\(a^x\) es creciente si \(a>1\) y decreciente si \(0<a<1\).
¿Tienen extremos una función exponencial?
SoluciónNo
¿Cómo es la curvatura de una función exponencial?
SoluciónEs cóncava hacia arriba.
Ejercicio 3.7 Dibujar la gráficas de las funciones trigonométricas \(\operatorname{sen}(x)\), \(\operatorname{sen}(x+2)\), \(\operatorname{sen}(x)+2\), \(\operatorname{sen}(2x)\) y \(2\operatorname{sen}(x)\), y completar la siguiente tabla estudiando su periodo y amplitud.
Función | Periodo | Amplitud |
---|---|---|
\(\operatorname{sen}(x)\) | ||
\(\operatorname{sen}(x+2)\) | ||
\(\operatorname{sen}(x)+2\) | ||
\(\operatorname{sen}(2x)\) | ||
\(2\operatorname{sen}(x)\) |
¿Qué conclusiones sacas?
El periodo es el mínimo intervalo en el que la gráfica de la función se repite, y la amplitud es la mitad de la diferencia entre el máximo y el mínimo de la función.
using GLMakie
= Figure()
fig = Axis(fig[1,1])
ax lines!(ax, -2pi..2pi, x -> sin(x+2), label=L"$\sin(x+2)$")
Makie..lines!(ax, -2pi..2pi, x -> sin(x)+2, label=L"$\sin(x)+2$")
Makielines!(ax, -2pi..2pi, x -> sin(2x), label=L"$\sin(2x)$")
Makie..lines!(ax, -2pi..2pi, x -> 2sin(x), label=L"$2\sin(x)$")
Makieaxislegend()
fig
using Plots, LaTeXStrings
plot(sin(x), -2*pi, 2*pi, label=L"$\operatorname{sen}(x)$")
Plots..plot!(sin(x+2), label=L"$\operatorname{sen}(x+2)$")
Plotsplot!(sin(x)+2, label=L"$\operatorname{sen}(x)+2$")
Plots..plot!(sin(2x), label=L"$\operatorname{sen}(2x)$")
Plotsplot!(2sin(x), label=L"$2\operatorname{sen}(x)$") Plots.
Función | Periodo | Amplitud |
---|---|---|
\(\operatorname{sen}(x)\) | \(2\pi\) | 1 |
\(\operatorname{sen}(x+2)\) | \(2\pi\) | 1 |
\(\operatorname{sen}(x)+2\) | \(2\pi\) | 1 |
\(\operatorname{sen}(2x)\) | \(\pi\) | 1 |
\(2\operatorname{sen}(x)\) | \(2\pi\) | 2 |
Se observa que al sumar una constante a la función seno o a su argumento, el periodo y la amplitud no cambian. Sin embargo, si se multiplica por una constante el seno, cambia la amplitud, y si se multiplica su argumento, cambia el periodo.
Ejercicio 3.8 Dibujar la gráfica de la función a trozos
\[ h(x)= \begin{cases} -2x & \mbox{si } x\leq 0;\\ x^2 & \mbox{si } 0< x \leq 2;\\ 4 & \mbox{si } 2< x \end{cases} \]
Usar el operador condicional anidado.
using GLMakie
h(x) = x<=0 ? -2x : x<=2 ? x^2 : 4
lines(-5..5, h) Makie.
using Plots
h(x) = x<=0 ? -2x : x<=2 ? x^2 : 4
plot(h, legend = false) Plots.
Ejercicio 3.9 Una hormiga se mueve sobre el plano real de manera que en cada instante \(t\) su posición viene dada por las funciones
\[ \begin{cases} x=\operatorname{sen}(t) \\ y=\operatorname{sen}(2t) \end{cases} \]
Dibujar la gráfica de la trayectoria de la hormiga.
using GLMakie
u1(t)=sin(t)
v1(t)=sin(2t)
= range(0, 4pi, 200)
ts lines(u1.(ts), v1.(ts)) Makie.
using Plots
u1(t)=sin(t)
v1(t)=sin(2t)
plot(u1, v1, 0, 4pi, aspect_ratio=1.0, legend = false) Plots.
3.2 Ejercicios propuestos
Ejercicio 3.10 ¿Cuáles de las siguientes funciones tienen dominio \(\mathbb{R}\) e imagen \(\mathbb{R}^+\cup\{0\}\)?
Ejercicio 3.11 Dibujar las gráficas de las funciones logarítmicas \(\ln(x)\), \(\log_2(x)\) y \(\log_{0.5}(x)\) y contestar a las siguientes preguntas.
- ¿Cuál es el dominio de una función logarítmica?
- ¿Cuál es la imagen de una función logarítmica?
- ¿Cómo es el crecimiento la función logarítmica \(\log_a(x)\)?
- ¿Cómo es la concavidad la función logarítmica \(\log_a(x)\)?
Ejercicio 3.12 ¿Cuál es el periodo y la amplitud de la función \(2\cos(x/2)\)?
Ejercicio 3.13 ¿Cuál de las gráficas corresponde a la siguiente función paramétrica?
\[ f(t)= \begin{cases} \operatorname{sen}(2t)-\cos(t) \\ \operatorname{sen}(t)+\cos(t) \end{cases} \]