Modelos de cultivos
Exponencial, logístico y Gompertz
2026-11-05
Tema III.3 · Unidad III · Dinámica de biosistemas
Modelos de cultivos
Exponencial, logístico y Gompertz
¿Qué curva describe mejor a este cultivo?
Escucha primero
Si quieres una primera idea antes de leer, estos audios cuentan de qué trata el tema en unos 3 minutos. Son opcionales, y la página se entiende sin ellos. La voz es generada por computadora.
De qué trata
El crecimiento de un cultivo no es una recta ni una curva que se dispara: suele formar una S. Tres ecuaciones clásicas describen ese crecimiento: el modelo exponencial, el logístico y el de Gompertz. Cada parámetro tiene un significado biológico, y con una medida de error se puede comparar cuál ajusta mejor.
Antes · Tema III.2 Transformación logarítmica ¿Por qué se analiza en logaritmos?
Este tema · III.3 Modelos de cultivos ¿Qué curva describe mejor a este cultivo?
Después · Tema III.4 Simulación de cultivos ¿Qué pasa si cambio la tasa?
Al terminar este tema podrás:
- Explicar el supuesto detrás de cada modelo de crecimiento.
- Interpretar los parámetros K, r y el punto de inflexión.
- Calcular a mano un valor de cada modelo.
- Comparar ajustes con el error RMSE.
- Justificar qué modelo usar, según el dato y el propósito.
Palabras clave modelo exponencial modelo logístico modelo de Gompertz capacidad máxima K punto de inflexión curva sigmoide RMSE
1. El problema: una curva que se aplana
En el Tema III.2 viste que el modelo exponencial predice cerca de 200 kg/m² de biomasa de trigo al final del ciclo, lo cual es imposible. Los muestreos reales cuentan otra historia:
Día 42 253 g/m² Crecimiento acelerado
Día 70 992 g/m² Crecimiento más rápido
Día 112 1 803 g/m² Casi detenido
Hace falta una ecuación que arranque como exponencial y luego se frene. ¿Cuál?
2. Por qué no basta un polinomio
Se podría ajustar cualquier curva flexible, como un polinomio, y los números quedarían cerca. Pero un polinomio no sabe que un cultivo no puede crecer sin fin, ni que la biomasa no puede ser negativa, y sus coeficientes no significan nada biológico. Un buen modelo parte de un supuesto sobre el proceso, y sus parámetros se pueden interpretar.
3. Las ideas
3.1 Exponencial: sin freno
W = W0 × er×t
Supuesto: la tasa relativa es constante, y no hay nada que limite el crecimiento. Sirve sólo para el inicio.
3.2 Logístico: un freno por el espacio
Se añade un límite K, la capacidad máxima: lo más que el sistema puede sostener. Conforme W se acerca a K, la tasa se reduce.
W = K ÷ (1 + e−r×(t−tm))
K: valor máximo, en unidades de W. r: tasa, por día. tm: día del punto de inflexión.
El punto de inflexión es el día en que el crecimiento absoluto es máximo. En el logístico ocurre justo cuando W = K ÷ 2, y la curva es simétrica. Su crecimiento máximo es r × K ÷ 4.
3.3 Gompertz: un freno que aparece antes
W = K × exp(−e−b×(t−tm))
K: valor máximo. b: tasa, por día. tm: día del punto de inflexión.
Aquí la tasa relativa va bajando de manera exponencial desde el principio, y la curva no es simétrica: la inflexión llega cuando W = K ÷ e, cerca de 37 % de K. Después se acerca a K más despacio. Su crecimiento máximo es b × K ÷ e.
Se usa mucho cuando la tasa relativa decae con la edad, como en el crecimiento de muchos animales y de algunos cultivos.
3.4 Comparar las tres
Para comparar ajustes se usa el error RMSE (raíz del error cuadrático medio). Se parece al error típico del Tema II.5, y va en las unidades de W:
RMSE = √( promedio de (observado − predicho)² )
Entre más pequeño, mejor. Sólo sirve para comparar modelos que usan los mismos datos.
El RMSE más bajo no decide solo. También cuentan el sentido biológico, si los residuos tienen un patrón y para qué se quiere el modelo: si sólo interesa el inicio del ciclo, el exponencial puede bastar.
3.5 Parámetros: ¿de dónde salen?
En una recta, R calcula los parámetros con lm(). En estas curvas se usa un método que busca por aproximaciones, los mínimos cuadrados no lineales. No se ve en este curso: los parámetros de este tema ya vienen ajustados. Lo importante aquí es interpretarlos y evaluar el ajuste. Prueba a encontrarlos a mano.
Prueba Ajusta la curva Los puntos son los muestreos del trigo. Mueve los parámetros hasta que el error baje de 100, e intenta explicar qué hace cada uno.
Este recuadro necesita JavaScript activado en el navegador.
4. Ejemplo resuelto: altura de maíz
Este ejemplo sólo se lee. Se midió la altura de un lote de maíz cada 10 días (datos didácticos). Los parámetros del modelo logístico ya están ajustados: K = 240 cm, r = 0.11 por día, tm = 48 días.
Paso 1 · Interpretar los parámetros.
| Parámetro | Valor | Qué dice |
|---|---|---|
| K | 240 cm | Altura final del lote |
| tm | 48 días | Día de crecimiento más rápido, con la mitad de la altura final |
| r | 0.11 por día | Qué tan empinada es la S |
Paso 2 · Calcular un valor a mano. En el día 50:
- Exponente: −0.11 × (50 − 48) = −0.22
- e−0.22 = 0.803
- W = 240 ÷ (1 + 0.803) = 240 ÷ 1.803 = 133.1 cm. Se midieron 134 cm.
Paso 3 · Calcular el crecimiento máximo. r × K ÷ 4 = 0.11 × 240 ÷ 4 = 6.6 cm por día, en el día 48, con 120 cm de altura.
Paso 4 · Calcular todas las predicciones y el error en R.
Script de R
maiz <- read.csv("ejemplo_maiz.csv")
maiz$predicho <- 240 / (1 + exp(-0.11 * (maiz$dia - 48)))
sqrt(mean((maiz$altura_cm - maiz$predicho)^2))
plot(altura_cm ~ dia, data = maiz)
lines(predicho ~ dia, data = maiz)R contesta en la consola
[1] 1.835501
Paso 5 · Escribir la conclusión.
El modelo logístico describe bien la altura de este lote: se equivoca en promedio unos 1.8 cm, y sus parámetros tienen sentido. El lote llegaría a 240 cm, y crece más rápido cerca del día 48, a 6.6 cm por día. Es un buen momento para asegurar agua y nutrientes. El modelo describe este lote, y no permite afirmar lo mismo de otra variedad o de otro ciclo.
5. Ejercicios en papel
Necesitas calculadora con teclas ex y ln. Intenta cada ejercicio antes de abrir la respuesta.
Ejercicio 1 · Calcular los tres modelos
Para el trigo, calcula la biomasa del día 70 con cada modelo. Se midieron 992 g/m².
- Exponencial: W = 14 × e0.0687×t
- Logístico: K = 1 740, r = 0.0725, tm = 66
- Gompertz: K = 1 835, b = 0.0445, tm = 58.5
- ¿Cuál se aleja más?
Ejercicio 2 · Interpretar los parámetros
Con los parámetros del Ejercicio 1:
- ¿En qué día crece más rápido el trigo, según cada modelo?
- ¿Cuánta biomasa hay en ese momento?
- ¿A qué tasa crece en ese momento?
- Según el logístico, ¿cuánto rendiría la parcela al final, en biomasa?
Ejercicio 3 · Un RMSE a mano
Con el modelo logístico del maíz:
| Día | 30 | 50 | 70 |
|---|---|---|---|
| Observado (cm) | 29 | 134 | 222 |
| Predicho (cm) | 29.1 | 133.1 | 220.4 |
- Calcula los tres errores.
- Calcula el RMSE de estos tres puntos.
- ¿Por qué sale menor que el 1.84 de los nueve puntos?
Ejercicio 4 · Revisar afirmaciones
Di si cada afirmación es correcta. Si no lo es, corrígela.
- «Un RMSE de 53 en biomasa es mejor que un RMSE de 1.8 en altura, porque se trata de modelos más completos.»
- «Como el logístico tiene el menor RMSE, es la verdad sobre cómo crece el trigo.»
- «K es la biomasa máxima que alcanzó una parcela.»
- «En el punto de inflexión, el cultivo deja de crecer.»
6. Práctica en R
Ahora vas a dibujar los tres modelos sobre los datos del trigo y a comparar sus errores.
Carpeta IBS-MDO-Tema-III3 en Google Drive · script y datos
Descárgala completa con el botón de descarga de Drive («Descargar todo»). Drive la baja en un .zip: en Descargas, haz clic derecho → Extraer todo y trabaja dentro de la carpeta extraída.
| Archivo | Para qué |
|---|---|
tema_III3.Rproj |
Abre RStudio trabajando en esta carpeta. Siempre empieza con doble clic aquí. |
Tema_III3_script.R |
El script con los bloques que vas a ejecutar. |
biomasa_trigo.csv |
Los 9 muestreos de biomasa. |
ejemplo_maiz.csv |
Los datos del ejemplo resuelto, por si quieres repetirlo. |
- Extrae la carpeta, haz doble clic en
tema_III3.Rprojy abreTema_III3_script.Rdesde el panel Files. - Bloques 1 a 4. Dibuja los tres modelos sobre la misma gráfica. ¿Hasta qué día sirve el exponencial?
- Bloque 5. Comprueba tus cuentas del Ejercicio 1.
- Bloques 6 y 7. Calcula el RMSE de los tres. Completa la línea de Gompertz.
- Bloque 8. Cambia K a 1400, y luego prueba con otros valores. ¿Con qué valor baja más el error?
- Explica: ¿con cuál modelo te quedas para el trigo? Da al menos dos razones.
- Bloque 9. Borra el
#de cada línea, ejecútala y lee lo que contesta R. Cuidado: una de ellas no marca error.
Si R marca un error
| Lo que ves | Qué significa | Qué hacer |
|---|---|---|
objeto 'k' no encontrado |
R distingue mayúsculas de minúsculas. | Escribe K. |
plot.new has not been called yet |
lines() necesita una gráfica abierta. |
Ejecuta primero la línea de plot(). |
| La curva no se ve | Quedó fuera del eje. | Revisa ylim en plot(). |
+ en la consola |
Falta cerrar un paréntesis. | Presiona Esc y revisa la línea. |
7. ¿Lo entendiste?
Cuatro preguntas rápidas Elige una respuesta para ver la explicación; puedes volver a intentar.
1. ¿Qué agrega el modelo logístico respecto al exponencial?
- Una tasa negativa
- Más datos
- Un límite, K
Con K, la tasa se reduce conforme W se acerca al máximo.
2. En un logístico con K = 1 000, ¿cuánta biomasa hay en el punto de inflexión?
- 500
- 1 000
- 368
En el logístico, la inflexión ocurre en K ÷ 2. El valor de 368 corresponde a Gompertz (K ÷ e).
3. ¿Qué pasa con la curva logística si sólo aumenta tm?
- Llega más alto
- Se recorre hacia la derecha
- Se vuelve más empinada
tm es el día de inflexión: si aumenta, todo ocurre más tarde, con la misma altura y la misma pendiente.
4. Dos modelos ajustados a los mismos datos tienen RMSE de 53 y 64. ¿Qué concluyes?
- El de 53 es el modelo verdadero
- El de 53 describe un poco mejor estos datos
- Son iguales
Sólo compara el ajuste sobre esos datos. Hay que revisar también los residuos y el sentido biológico.
Instrucciones de R de este tema
| Instrucción | Qué hace | En Excel sería |
|---|---|---|
plot(y ~ x, data = d, ylim = c(0, 2000)) |
Fija el alto del eje | Formato de eje |
lines(y ~ x, data = d) |
Agrega una curva a la gráfica abierta | Agregar serie |
exp(x) |
Eleva e a la x | EXP(x) |
x^2 |
Eleva al cuadrado | x^2 |
sqrt(x) |
Saca la raíz cuadrada | RAIZ(x) |
round(x, 0) |
Redondea | REDONDEAR(x, 0) |


