Introducción
## Función Seno Simple
# Definir el rango de x
x <- seq(-2*pi, 2*pi, length.out = 1000)
# Calcular y = sin(x)
y <- sin(x)
# Graficar
plot(x, y,
type = "l", # línea continua
col = "blue", # color azul
lwd = 2, # grosor de línea
xlab = "x", # etiqueta eje x
ylab = "sin(x)", # etiqueta eje y
main = "Función Seno", # título
grid = TRUE) # rejilla
# Añadir líneas de referencia
abline(h = 0, col = "gray", lty = 2) # línea horizontal en y=0
abline(v = 0, col = "gray", lty = 2) # línea vertical en x=0

## Múltiples Funciones Trigonométricas
# Definir el rango de x
x <- seq(-2*pi, 2*pi, length.out = 1000)
# Calcular las funciones
y1 <- sin(x)
y2 <- cos(x)
y3 <- tan(x)
# Limitar tangente para mejor visualización
y3[abs(y3) > 5] <- NA
# Crear el gráfico base con seno
plot(x, y1,
type = "l",
col = "red",
lwd = 2,
xlab = "x",
ylab = "y",
main = "Funciones Trigonométricas",
ylim = c(-3, 3),
xlim = c(-2*pi, 2*pi))
# Añadir coseno
lines(x, y2, col = "blue", lwd = 2)
# Añadir tangente
lines(x, y3, col = "green", lwd = 2)
# Añadir leyenda
legend("topright",
legend = c("sin(x)", "cos(x)", "tan(x)"),
col = c("red", "blue", "green"),
lwd = 2)
# Añadir rejilla
grid(col = "gray", lty = 3)

Función Trigonométrica Compuesta
# Definir el rango de x
x <- seq(0, 4*pi, length.out = 1000)
# Función compuesta: y = 2*sin(3x) + cos(x/2)
y <- 2*sin(3*x) + cos(x/2)
# Graficar
plot(x, y,
type = "l",
col = "purple",
lwd = 3,
xlab = "x",
ylab = "2*sin(3x) + cos(x/2)",
main = "Función Trigonométrica Compuesta",
sub = "y = 2*sin(3x) + cos(x/2)")
# Añadir líneas de referencia
abline(h = 0, col = "gray", lty = 2)
grid(col = "lightgray", lty = 3)

## Funciones con Transformaciones
# Definir el rango de x
x <- seq(-pi, 3*pi, length.out = 1000)
# Diferentes transformaciones del seno
y1 <- sin(x) # seno normal
y2 <- 2*sin(x) # amplitud doble
y3 <- sin(2*x) # frecuencia doble
y4 <- sin(x - pi/4) # desfase
y5 <- sin(x) + 1 # desplazamiento vertical
# Crear múltiples gráficos en una sola figura
par(mfrow = c(2, 3)) # 2 filas, 3 columnas
# Gráfico 1: Seno normal
plot(x, y1, type = "l", col = "black", lwd = 2,
main = "sin(x)", ylab = "y", ylim = c(-3, 3))
grid()
# Gráfico 2: Amplitud doble
plot(x, y2, type = "l", col = "red", lwd = 2,
main = "2*sin(x)", ylab = "y", ylim = c(-3, 3))
grid()
# Gráfico 3: Frecuencia doble
plot(x, y3, type = "l", col = "blue", lwd = 2,
main = "sin(2x)", ylab = "y", ylim = c(-3, 3))
grid()
# Gráfico 4: Con desfase
plot(x, y4, type = "l", col = "green", lwd = 2,
main = "sin(x - π/4)", ylab = "y", ylim = c(-3, 3))
grid()
# Gráfico 5: Desplazamiento vertical
plot(x, y5, type = "l", col = "orange", lwd = 2,
main = "sin(x) + 1", ylab = "y", ylim = c(-3, 3))
grid()
# Gráfico 6: Comparación
plot(x, y1, type = "l", col = "black", lwd = 2,
main = "Comparación", ylab = "y", ylim = c(-3, 3))
lines(x, y2, col = "red", lwd = 2)
lines(x, y3, col = "blue", lwd = 2)
legend("topright", c("sin(x)", "2*sin(x)", "sin(2x)"),
col = c("black", "red", "blue"), lwd = 2, cex = 0.7)
grid()

# Restaurar configuración de gráficos
par(mfrow = c(1, 1))
## Función Personalizada Compleja
# Definir una función trigonométrica más compleja
funcion_compleja <- function(x) {
return(3*sin(2*x) * exp(-x/10) + cos(x/2))
}
# Definir el rango de x
x <- seq(0, 20, length.out = 2000)
y <- funcion_compleja(x)
# Graficar
plot(x, y,
type = "l",
col = "darkred",
lwd = 2,
xlab = "x",
ylab = "f(x)",
main = "Función Trigonométrica Amortiguada",
sub = "f(x) = 3*sin(2x)*exp(-x/10) + cos(x/2)")
# Añadir componentes por separado
y_sin <- 3*sin(2*x) * exp(-x/10)
y_cos <- cos(x/2)
lines(x, y_sin, col = "blue", lty = 2, lwd = 1)
lines(x, y_cos, col = "green", lty = 2, lwd = 1)
# Leyenda
legend("topright",
legend = c("f(x) completa", "3*sin(2x)*exp(-x/10)", "cos(x/2)"),
col = c("darkred", "blue", "green"),
lty = c(1, 2, 2),
lwd = c(2, 1, 1))
grid(col = "lightgray")

## Gráfico Interactivo con Parámetros
# Función para crear gráfico con parámetros
graficar_trigonometrica <- function(A = 1, B = 1, C = 0, D = 0) {
# A: amplitud, B: frecuencia, C: desfase, D: desplazamiento vertical
x <- seq(-2*pi, 2*pi, length.out = 1000)
y <- A * sin(B * x + C) + D
titulo <- paste0("y = ", A, "*sin(", B, "*x + ", C, ") + ", D)
plot(x, y,
type = "l",
col = "navy",
lwd = 3,
xlab = "x",
ylab = "y",
main = titulo,
ylim = c(-5, 5))
grid(col = "lightgray")
abline(h = D, col = "red", lty = 2) # línea del desplazamiento
}
# Ejemplos con diferentes parámetros
par(mfrow = c(2, 2))
graficar_trigonometrica(A = 2, B = 1, C = 0, D = 0) # Amplitud = 2
graficar_trigonometrica(A = 1, B = 2, C = 0, D = 0) # Frecuencia = 2
graficar_trigonometrica(A = 1, B = 1, C = pi/4, D = 0) # Desfase = π/4
graficar_trigonometrica(A = 1, B = 1, C = 0, D = 1) # Desplazamiento = 1

par(mfrow = c(1, 1))