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
xy el número de bacterias en otroyy luego utilizar la funciónscater(x,y)del paqueteMakie, oscatter(x,y)del paquetePlotspara dibujar una gráfica de puntos.Soluciónusing GLMakie horas = 0:7 bacterias = [1, 2, 4, 8, 16, 32, 64, 128] fig = Figure() ax = Axis(fig[1,1], xlabel="Horas", ylabel="Bacterias", title="Evolución de la población de bacterias") Makie.scatter!(ax, horas, bacterias) figusing Plots horas = 0:7 bacterias = [1, 2, 4, 8, 16, 32, 64, 128] Plots.scatter(horas, bacterias, xlab="Horas", ylab="Bacterias", title="Evolución de la población de bacterias", legend=false)¿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ónMakie.lines!(ax, 0..7, x -> 2^x) figusing Plots Plots.plot!(x -> 2^x)
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
Makieo la funciónplotdel 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ámetrosxlimeylim.Soluciónusing GLMakie, SymPy @syms t #Declaramos t como una variable simbólica y₀ = 5 v₀ = 10 const gravedad = -9.8 #Declaramos la gravedad como una constante y0(t) = y₀+v₀*t+ 1/2*gravedad*t^2 fig = Figure() ax = Axis(fig[1,1], limits=(0, 3, 0, 15), xlabel="Tiempo (s)", ylabel="Altura (m)") Makie.lines!(ax, 0..3, y0, label="Pelota") figusing Plots, SymPy @syms t #Declaramos t como una variable simbólica y₀ = 5 v₀ = 10 const gravedad = -9.8 #Declaramos la gravedad como una constante y0(t) = y₀+v₀*t+ 1/2*gravedad*t^2 Plots.plot(y0, xlims=(0,3), ylims=(0,15), label="Pelota", xlab="Tiempo (s)", ylab="Altura (m)")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óny₁ = 8 v₁ = 2 y1(t) = y₁-v₁*t Makie.lines!(ax, 0..3, y1, label="Ascensor") axislegend() figy₁ = 8 v₁ = 2 y1(t) = y₁-v₁*t Plots.plot!(y1, label="Ascensor")¿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ónsol = float(solve(y0(t)-y1(t))) Makie.scatter!(ax, sol, y1.(sol), color = :red, label="Intersección") figsol = solve(y0(t)-y1(t)) print("Instantes: ", sol) Plots.scatter!(sol, y1.(sol), label="Intersección")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
ryvusando el paqueteSymPyy definir la funciónvol(r)que expresa el volumen del globo en función del radio.Después utilizar la función
solvedel paqueteSymPypara despejarrde la ecuaciónv-vol(r)=0.Soluciónusing GLMakie, SymPy @syms r v vol(r) = 4/3*pi*r^3 rad = lambdify(solve(v-vol(r),r)[1]) fig = Figure() ax = Axis(fig[1,1], xlabel="Volumen (m³)", ylabel="Radio (m)") Makie.lines!(ax, 0..10, rad) figusing Plots, SymPy @syms r v vol(r) = 4/3*pi*r^3 rad2 = solve(v-vol(r),r)[1] Plots.plot(rad2, xlim=(0,10), xlab="Volumen (m³)", ylab="Radio (m)", legend=false)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
tusando el paqueteSymPyy 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 fig = Figure() ax = Axis(fig[1,1], xlabel = "Tiempo (min)", ylabel = "Radio (m)") Makie.lines!(ax, 0..10, rad∘vol) figusing Plots vol(t)=t^2+2t Plots.plot(rad2∘vol, xlim = (0,10), xlab = "Tiempo (min)", ylab = "Radio (m)", legend = false)Si el globo explota cuando el radio alcanza los 3 m, ¿cuándo explotará el globo?
Solución@syms t sol = solve((rad∘vol)(t)-3)\(\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
fig = Figure()
ax = Axis(fig[1,1])
Makie.lines!(ax, -3..4, f, label = L"$f(x) = 2x^3-3x^2-12x+4$")
axislegend()
figusing Plots, LaTeXStrings
f(x) = 2x^3-3x^2-12x+4
Plots.plot(f, -3, 4, label=L"$f(x) = 2x^3-3x^2-12x+4$")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 raices = solve(f(x)) # Solución exacta print(raices) N(raices) # Solución aproximada con decimalesSym{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)
fig = Figure()
ax = Axis(fig[1,1])
Makie.lines!(ax, -8..8, rangeclamp(g), label = L"$g(t) = \frac{t^4+19t^2-5}{t^4+9t^2-10}$")
axislegend()
figusing Plots
g(t) = (t^4+19t^2-5) / (t^4+9t^2-10)
Plots.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}$")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ónav = Makie.vlines!(ax, [-1,1], color = :red) ah = Makie.hlines!([1], color = :green) axislegend(ax, [av, ah], ["Asíntotas verticales", "Asíntotas Horizontales"], position = :rb) figPlots.vline!([-1,1], label="Asíntotas verticales") Plots.hline!([1], label="Asíntotas horizontales", legend=:bottomright)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
fig = Figure()
ax = Axis(fig[1,1])
Makie.lines!(ax, -2..2, x -> 2^x, label=L"$2^x$")
Makie.lines!(ax, -2..2, exp, label=L"$e^x$")
Makie.lines!(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$")
axislegend(position = :lt)
figusing Plots, LaTeXStrings
Plots.plot(2^x, -2, 2, label=L"$2^x$")
Plots.plot!(exp(x), label=L"$e^x$")
Plots.plot!(0.5^x, label=L"$2^x$")
Plots.plot!(0.7^x, label=L"$2^x$")¿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
fig = Figure()
ax = Axis(fig[1,1])
Makie.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$")
Makie.lines!(ax, -2pi..2pi, x -> sin(2x), label=L"$\sin(2x)$")
Makie.lines!(ax, -2pi..2pi, x -> 2sin(x), label=L"$2\sin(x)$")
axislegend()
figusing Plots, LaTeXStrings
Plots.plot(sin(x), -2*pi, 2*pi, label=L"$\operatorname{sen}(x)$")
Plots.plot!(sin(x+2), label=L"$\operatorname{sen}(x+2)$")
Plots.plot!(sin(x)+2, label=L"$\operatorname{sen}(x)+2$")
Plots.plot!(sin(2x), label=L"$\operatorname{sen}(2x)$")
Plots.plot!(2sin(x), label=L"$2\operatorname{sen}(x)$")| 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
Makie.lines(-5..5, h)using Plots
h(x) = x<=0 ? -2x : x<=2 ? x^2 : 4
Plots.plot(h, legend = false)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)
ts = range(0, 4pi, 200)
Makie.lines(u1.(ts), v1.(ts))using Plots
u1(t)=sin(t)
v1(t)=sin(2t)
Plots.plot(u1, v1, 0, 4pi, aspect_ratio=1.0, legend = false)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} \]