Metodo di Eulero per sistemi 2D
Questo calcolatore approssima un sistema accoppiato di due equazioni differenziali ordinarie del primo ordine, dy/dx = f(x,y,z) e dz/dx = g(x,y,z).
Esegui gratis nel browser
Inserisca le due espressioni delle derivate, lo stato iniziale, il passo fisso e il numero di iterazioni. Il risultato mostra ogni aggiornamento simultaneo e le pendenze valutate nel punto precedente, così Lei può esaminare l’intero percorso numerico anziché soltanto il valore finale. È utile per lo studio, per controlli rapidi di modelli e per calcoli riproducibili con un metodo trasparente del primo ordine.
Definisca il problema accoppiato ai valori iniziali
Scriva la prima derivata come espressione di dy/dx e la seconda come espressione di dz/dx. Entrambe possono usare la variabile indipendente x e le variabili dipendenti y e z, per esempio y + z e x - y. La moltiplicazione deve essere esplicita: inserisca 2*y, non 2y. Sono ammessi parentesi, decimali, notazione scientifica, gli operatori +, -, *, / e ^, le costanti pi ed e, e le funzioni sin, cos, tan, exp, log, sqrt e abs. Indichi poi x0, y0 e z0. Le due pendenze vengono valutate sul medesimo stato corrente prima di aggiornare qualsiasi variabile. Usare un valore y già aggiornato per calcolare z non sarebbe più il metodo di Eulero esplicito standard.
Comprenda ogni aggiornamento a passo fisso
Dato il passo h e il punto corrente (x_n, y_n, z_n), il calcolatore valuta f_n = f(x_n,y_n,z_n) e g_n = g(x_n,y_n,z_n), quindi applica y_(n+1) = y_n + h*f_n, z_(n+1) = z_n + h*g_n e x_(n+1) = x_n + h. L’output parte dal passo zero con lo stato iniziale e riporta ogni punto calcolato. In ogni riga successiva, dy_dx e dz_dx sono le pendenze usate per raggiungerla dalla riga precedente. Lei può verificare il conto moltiplicando ciascuna pendenza per il passo e aggiungendo il risultato al valore precedente. Un passo negativo consente di procedere verso x minori. Il punto finale è sempre x0 + steps*h, senza arrotondamenti nascosti né un ultimo intervallo abbreviato.
Scelga il passo e interpreti l’approssimazione
Il metodo di Eulero è un’approssimazione numerica del primo ordine, non un risolutore simbolico né una garanzia sull’errore. Ridurre il valore assoluto del passo spesso diminuisce l’errore di discretizzazione per sistemi regolari, ma richiede più iterazioni. Ripeta il problema con metà passo e il doppio delle iterazioni, quindi confronti gli stati agli stessi valori di x. Differenze ampie indicano che la griglia più grossolana non è adeguata. Sistemi rigidi, singolari, discontinui o molto sensibili possono comportarsi male con Eulero esplicito. Il calcolo si interrompe se una derivata o un aggiornamento produce infinito o NaN. Usi la tabella per imparare, controllare un esercizio o formulare una prima stima. Per impieghi critici scelga un metodo adattivo di ordine superiore e convalidi separatamente modello, tolleranze e unità.
Casi d'uso
Controllare un esercizio di equazioni differenziali
Confronti pendenze e aggiornamenti simultanei svolti a mano con una tabella deterministica.
Esplorare un semplice modello accoppiato
Approssimi popolazioni, compartimenti o variabili di stato interagenti prima di usare un risolutore superiore.
Verificare la sensibilità al passo
Ripeta lo stesso problema con passi fissi differenti e confronti gli stati alle coordinate x comuni.
Domande frequenti
Quanto costa il calcolatore?
L’esecuzione nel browser è gratuita. Una richiesta tramite API costa $0.002.
y e z vengono aggiornate simultaneamente?
Sì. Entrambe le derivate sono valutate sugli stessi x, y e z correnti prima di avanzare le variabili dipendenti.
Quale sintassi è supportata?
Usi x, y, z, operatori espliciti, parentesi, pi, e e le funzioni sin, cos, tan, exp, log, sqrt e abs.
È possibile procedere all’indietro lungo x?
Sì. Fornisca uno step_size negativo. Lo zero viene rifiutato perché ripeterebbe lo stesso x.
Quanti passi può calcolare una richiesta?
Da 1 a 10,000 passi fissi. La risposta include ogni punto calcolato.
Il metodo di Eulero garantisce una soluzione accurata?
No. L’accuratezza dipende dal sistema e dal passo. Confronti più raffinamenti o usi un metodo adattivo superiore.
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/calculus/euler-method-system-2d \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}'const res = await fetch("https://api.kit.forhosting.com/calculus/euler-method-system-2d", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calculus/euler-method-system-2d",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calculus/euler-method-system-2d", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"derivative_y":"y + z","derivative_z":"x - y","x0":0,"y0":1,"z0":0,"step_size":0.1,"steps":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calculus/euler-method-system-2d", 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
{
"derivative_y": "y + z",
"derivative_z": "x - y",
"x0": 0,
"y0": 1,
"z0": 0,
"step_size": 0.1,
"steps": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calculus.euler_method_system_2d",
"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 | 10000 |
max_expression_chars | 500 |
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. |