3  Funciones elementales

3.1 Ejercicios Resueltos

Para la realización de esta práctica se requieren los siguientes paquetes:

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.

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
  1. Dibujar una gráfica con la evolución del la población de bacterias.

    Definir los valores de las horas en un vector x y el número de bacterias en otro y y luego utilizar la función scater(x,y) del paquete Makie, o scatter(x,y) del paquete Plots para dibujar una gráfica de puntos.

    using 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)
    fig
    using 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)
  2. ¿Los pares dados en la tabla forman una función?

    Si, porque para cada hora hay a lo sumo un número de bacterias con el que se relaciona.

  3. ¿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.

    Para 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ón lines! del paquete Makie, o plot! del paquete Plots, pasándole el nombre de la función si se ha definido previamente o la definición anónima de la función

    Makie.lines!(ax, 0..7, x -> 2^x)
    fig
    using 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.

  1. 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².

    Declarar \(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ón plot del paquete Plots, 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ámetros xlim e ylim.

    using 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")
    fig
    using 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)")
  2. 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.

    La 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\).

    y₁ = 8
    v₁ = 2
    y1(t) = y₁-v₁*t
    Makie.lines!(ax, 0..3, y1, label="Ascensor")
    axislegend()
    fig
    y₁ = 8
    v₁ = 2
    y1(t) = y₁-v₁*t
    Plots.plot!(y1, label="Ascensor")
  3. ¿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.

    sol = float(solve(y0(t)-y1(t)))
    Makie.scatter!(ax, sol, y1.(sol), color = :red, label="Intersección")
    fig
    sol = 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\).

  1. Calcular la función que expresa el radio en función del volumen y dibujar su gráfica.

    Declarar las variables simbólicas r y v usando el paquete SymPy y definir la función vol(r) que expresa el volumen del globo en función del radio.

    Después utilizar la función solve del paquete SymPy para despejar r de la ecuación v-vol(r)=0.

    using 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)
    fig
    using 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)
  2. 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.

    Declarar las variables simbólicas t usando el paquete SymPy y definir la función vol(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.

    using GLMakie
    vol(t)=t^2+2t
    fig = Figure()
    ax = Axis(fig[1,1], xlabel = "Tiempo (min)", ylabel = "Radio (m)")
    Makie.lines!(ax, 0..10, radvol)
    fig
    using Plots
    vol(t)=t^2+2t
    Plots.plot(rad2vol, xlim = (0,10), xlab = "Tiempo (min)", ylab = "Radio (m)", legend = false)
  3. Si el globo explota cuando el radio alcanza los 3 m, ¿cuándo explotará el globo?

    @syms t
    sol = solve((radvol)(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:

Definir la función y usar la función usar la función lines! del paquete Makie o plot del paquete Plots.

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()
fig
using 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$")
  1. Dominio

    \(\operatorname{Dom}(f)=\mathbb{R}\)

  2. Imagen

    \(\operatorname{Im}(f)=\mathbb{R}\)

  3. Raíces

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

  4. Signo

    Intervalos con \(f(x)\) negativa: \((-\infty, -2)\cup (0.31,3.19)\).
    Intervalos con \(f(x)\) positiva: \((-2,0.31)\cup (3.19,\infty)\).

  5. Crecimiento

    Intervalos con \(f(x)\) creciente: \((-\infty, -1)\cup (2,\infty)\).
    Intervalos con \(f(x)\) decreciente: \((-1,2)\).

  6. Extremos

    Má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\).

  7. Concavidad

    Intervalos de concavidad hacia arriba: \((0.5,\infty)\).
    Intervalos de concavidad hacia abajo: \((-\infty, 0.5)\).

  8. Puntos de inflexión

    Punto 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()
fig
using 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}$")
  1. Dominio. ¿Qué pasa si aplicamos la función a algún valor fuera de su dominio?

    \(\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\).

  2. Imagen

    \(\operatorname{Im}(f)=\mathbb{R}\setminus (0.5,1]\)

  3. Asíntotas. Dibujarlas.

    Buscar las asíntotas verticales en los puntos fuera del dominio de la función.

    Para dibujar asíntotas verticales usar la función vlines! del paquete Makie, o vline del paquete Plots, y para dibujar las asíntotas horizontales usar la función hlines! del paquete Makie, o hline del paquete Plots.

    av = 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)
    fig
    Plots.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.

  4. Raíces

    Hay dos raíces en \(x=-0.5\) y \(x=0.5\) aproximadamente.

  5. Signo

    Intervalos 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)\).

  6. Crecimiento

    Intervalos con \(f(x)\) creciente: \((-\infty, -1)\cup (-1,0)\).
    Intervalos con \(f(x)\) decreciente: \((0,1)\cup (1,\infty)\).

  7. Extremos

    Máximo relativo en \(x=0\) y el valor máximo es \(g(0)=0.5\).
    No hay mínimos relativos.

  8. Concavidad

    Intervalos de concavidad hacia arriba: \((-\infty,-1)\cup (1,\infty)\).
    Intervalos de concavidad hacia abajo: \((-1,1)\).

  9. Puntos de inflexión

    No 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)
fig
using 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$")
  1. ¿Cuál es el dominio de una función exponencial?

    \(\mathbb{R}\).

  2. ¿Cuál es la imagen de una función exponencial?

    \(\mathbb{R}^+\).

  3. ¿Cómo es el crecimiento de una función exponencial?

    \(a^x\) es creciente si \(a>1\) y decreciente si \(0<a<1\).

  4. ¿Tienen extremos una función exponencial?

    No

  5. ¿Cómo es la curvatura de una función exponencial?

    Es 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()
fig
using 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.

  1. ¿Cuál es el dominio de una función logarítmica?
Select an item
  1. ¿Cuál es la imagen de una función logarítmica?
Select an item
  1. ¿Cómo es el crecimiento la función logarítmica \(\log_a(x)\)?
  1. ¿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)\)?

Select an item

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} \]

Image for hotspot selection