Equazioni di Lotka-Volterra
Parta da 10 prede e 5 predatori, imposti i quattro tassi e ottenga la popolazione a ogni passo: con tassi di 1,1, 0,4, 0,1 e 0,4 l’equilibrio di coesistenza è a 4 prede e 2,75 predatori. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Prede
- 10
- Predatori
- 5
- Crescita delle prede
- 1,1
- Tasso di predazione
- 0,4
- Crescita dei predatori
- 0,1
- Mortalità dei predatori
- 0,4
- Dt
- 0,1
- Prede finali
- 2,8810967151
- Predatori finali
- 6,0674292649
- Picco di prede
- 10
Le equazioni di Lotka–Volterra sono la coppia classica di equazioni differenziali ordinarie che descrive come una popolazione di prede e una di predatori cambiano insieme nel tempo. Le prede crescono in assenza di predatori e diminuiscono in proporzione agli incontri; i predatori muoiono di fame senza prede e crescono grazie a quegli stessi incontri. Studenti, ecologi, analisti della pesca e modellisti hanno bisogno di una serie temporale deterministica a partire dai conteggi iniziali e dai quattro coefficienti di tasso, non di una cattura di un grafico che non si può rivedere. Questo calcolatore integra dx/dt = αx − βxy e dy/dt = δxy − γy con un metodo di Runge–Kutta del quarto ordine a passo fisso e restituisce la traiettoria, i picchi, i minimi e l'equilibrio interno quando esiste.
Cosa dicono le equazioni di Lotka–Volterra su predatore e preda
Alfred Lotka e Vito Volterra scrissero in modo indipendente lo stesso modello a due specie negli anni Venti: uno stock di prede x che crescerebbe in modo esponenziale da solo, e uno stock di predatori y che decrescerebbe in modo esponenziale senza cibo. Gli incontri si scrivono come il prodotto x per y. Le prede seguono quindi dx/dt uguale a αx meno βxy, dove α è il tasso di crescita intrinseco della preda e β è il coefficiente di predazione.
I predatori seguono dy/dt uguale a δxy meno γy, dove δ è la conversione della preda mangiata in crescita del predatore e γ è il tasso di morte o di fame. Quei quattro coefficienti più le due popolazioni iniziali determinano del tutto il campo vettoriale nel primo quadrante.
Quando α, β, γ e δ sono tutti positivi, il sistema ha un equilibrio interno in x-stella uguale a γ su δ e y-stella uguale a α su β; le orbite intorno a quel punto sono chiuse nel modello continuo esatto, ed è per questo che i grafici da manuale mostrano i celebri cicli sfasati: le prede salgono, i predatori le seguono, le prede crollano, i predatori crollano e il ciclo si ripete.
Il modello non è un ecosistema completo: ignora la capacità portante, la struttura per età, il rifugio e l'estinzione stocastica. È lo strumento di primo ordine per insegnare e pianificare crescita e predazione accoppiate. Le unità restano le Sue: se x e y sono animali per chilometro quadrato e il tempo è in anni, i tassi sono in anni reciproci e la serie restituita usa le stesse unità.
Popolazioni e tassi nulli sono ammessi e producono traiettorie degeneri ma ben definite, come la crescita esponenziale della preda quando i predatori partono da zero. Conteggi o tassi negativi non sono biologici in questo contratto e vengono rifiutati invece di essere silenziosamente tagliati al bordo di ingresso.
Chi usa simulazioni preda-predatore
I corsi di ecologia delle scuole superiori e dell'università chiedono spesso agli studenti di abbozzare i cicli di Lotka–Volterra a partire da una tabella di x(t) e y(t). Un oracolo RK4 deterministico consente di verificare che le prede raggiungano il picco prima dei predatori, che l'orbita discreta resti vicina all'equilibrio previsto e che un tasso negativo sia illegale invece di un NaN silenzioso in un foglio di calcolo.
I pianificatori della pesca e della fauna a volte necessitano di una previsione accoppiata di primo ordine: dati i conteggi attuali e i tassi di crescita e predazione assunti, come si muovono i due stock su un orizzonte di T unità di tempo? Il tetto di passi mantiene economico l'isolate e risolve comunque alcuni cicli. Il lavoro di sensitività sono poche chiamate in più: tenga fisse le condizioni iniziali e vari α o β per vedere se il picco del predatore cresce o crolla.
Mantenga gli otto parametri non negativi e finiti, scelga uno steps abbastanza grande da risolvere l'orbita che Le interessa (da dieci a quaranta è tipico per un grafico di compito; duecento è il tetto rigido) e tratti la serie come traiettoria numerica delle equazioni classiche, non come un censimento di campo adattato, un modello di estinzione stocastica o una curva logistica solo di prede.
Casi d'uso
Compiti di ecologia e grafici dei cicli
Dai conteggi iniziali di preda e predatore più i quattro tassi di Lotka–Volterra, ottenga una serie temporale che gli studenti possano tracciare per vedere i cicli classici sfasati.
Valutazione automatica di esami e LMS
Valuti voci preda-predatore con un oracolo RK4 deterministico che rifiuta parametri negativi o non finiti invece di restituire in silenzio un percorso vuoto.
Schizzi di primo ordine per fauna e pesca
Proietti stock accoppiati su un orizzonte di pianificazione T a partire dal censimento attuale e dai tassi di crescita e predazione assunti, senza allestire una cassetta degli attrezzi ODE completa.
Domande frequenti
Quale integratore usa il calcolatore?
Dopo ogni passo, uno sforo numerico sotto lo zero viene riportato a zero.
Qual è l'equilibrio di coesistenza delle equazioni di Lotka–Volterra?
Quelle chiavi sono omesse se il divisore corrispondente è zero.
Che cosa indicano i quattro tassi di Lotka-Volterra?
Alfa indica quanto crescono da sole le prede, beta quanto gli incontri le riducono, delta con quale efficienza le prede mangiate diventano nuovi predatori e gamma quanto rapidamente muoiono i predatori senza cibo.
Perché le popolazioni di prede e predatori seguono dei cicli?
Le prede aumentano, i predatori le seguono avendo più cibo, poi le prede crollano sotto la predazione e i predatori calano a loro volta. Nel modello esatto queste orbite si chiudono attorno all’equilibrio e producono i noti cicli sfasati.
Che cosa succede se parto senza predatori?
Le prede crescono in modo esponenziale al proprio tasso, perché niente le riduce. Popolazioni e tassi pari a zero sono ammessi e danno traiettorie semplici ma ben definite.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/eco/lotka-volterra-equations \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"prey":10,"predators":5,"prey_growth":1.1,"predation_rate":0.4,"predator_growth":0.1,"predator_death":0.4,"duration":1,"steps":10}'const res = await fetch("https://api.kit.forhosting.com/eco/lotka-volterra-equations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"prey": 10,
"predators": 5,
"prey_growth": 1.1,
"predation_rate": 0.4,
"predator_growth": 0.1,
"predator_death": 0.4,
"duration": 1,
"steps": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eco/lotka-volterra-equations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"prey": 10,
"predators": 5,
"prey_growth": 1.1,
"predation_rate": 0.4,
"predator_growth": 0.1,
"predator_death": 0.4,
"duration": 1,
"steps": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eco/lotka-volterra-equations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"prey":10,"predators":5,"prey_growth":1.1,"predation_rate":0.4,"predator_growth":0.1,"predator_death":0.4,"duration":1,"steps":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"prey":10,"predators":5,"prey_growth":1.1,"predation_rate":0.4,"predator_growth":0.1,"predator_death":0.4,"duration":1,"steps":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eco/lotka-volterra-equations", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"prey": 10,
"predators": 5,
"prey_growth": 1.1,
"predation_rate": 0.4,
"predator_growth": 0.1,
"predator_death": 0.4,
"duration": 1,
"steps": 10
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eco.lotka_volterra_equations",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_steps | 200 |
max_abs | 1000000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Qualsiasi parametro negativo o non finito fallisce con invalid_input invece di inventare un censimento. Il percorso gratuito del browser usa lo stesso modulo puro dell'API, così compiti e automazione non discordano mai su un passo dell'orbita.
Contratto di ingresso, serie temporale RK4 e comportamento in errore
L'integratore parte da t uguale a zero con il censimento dato, poi avanza con passi di ampiezza dt uguale a T diviso steps. Ogni passo è RK4 classico sul campo vettoriale bidimensionale. Dopo ogni passo, un piccolo sforo numerico sotto lo zero viene riportato a zero così un censimento non può diventare negativo. Quelle chiavi di equilibrio sono omesse, mai null, se il tasso corrispondente è zero. La convalida fallita non è fatturata. Invii con POST un corpo JSON con otto campi obbligatori, ciascuno un numero finito non negativo: prey (x0 iniziale), predators (y0 iniziale), prey_growth (α), predation_rate (β), predator_growth (δ), predator_death (γ), duration (tempo totale T) e steps (il numero intero di passi RK4 fissi, al massimo duecento). Gli alias corti funzionano allo stesso modo: x0, y0, alpha, beta, delta, gamma, t_end, n_steps e gli altri nomi dello schema dei parametri. Ogni campo può arrivare come numero JSON o come stringa numerica; stringhe vuote, chiavi assenti, NaN, infiniti e qualsiasi valore negativo falliscono con invalid_input indicando il campo. steps deve essere un intero; un conteggio frazionario è rifiutato perché la lunghezza della serie fa parte del contratto. Se un passo satura IEEE-754, l'operazione fallisce invece di restituire infiniti. In caso di successo il corpo ripete gli otto ingressi, dt, method rk4 e la stringa di formula dx/dt = αx − βxy ; dy/dt = δxy − γy. series è un array di steps più uno campioni {t, prey, predators} incluso il punto iniziale. final_prey e final_predators sono l'ultimo campione; i campi peak e trough sono gli estremi lungo la traiettoria discreta. Quando δ è positivo il corpo include anche equilibrium_prey = γ/δ; quando β è positivo include equilibrium_predators = α/β. Le chiamate riuscite usano il saldo prepagato KIT al prezzo base pubblicato $0.002 per elemento. I goldens fissano l'arrotondamento a dodici decimali così il JSON del Worker e del browser resta stabile byte per byte.
Dove un'API di serie temporale preda-predatore ripaga il suo costo
Abbini il JSON al Suo codice di tracciamento se Le serve un ritratto di fase; questo endpoint restituisce numeri, non immagini.
Domande tecniche
Come si simulano popolazioni preda-predatore di Lotka–Volterra?
Invii prey, predators, prey_growth (α), predation_rate (β), predator_growth (δ), predator_death (γ), duration T e steps intero, tutti finiti e non negativi. L'API restituisce una serie RK4 di steps+1 campioni {t, prey, predators}.
Che succede se un parametro è negativo o non finito?
L'operazione fallisce con invalid_input indicando il campo. Popolazioni, tassi, duration e steps devono essere finiti e non negativi; valori non finiti e campi assenti falliscono allo stesso modo e non sono fatturati.
Quanto costa il calcolatore delle equazioni di Lotka–Volterra?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non è fatturato.