Calcolatore di iterazione di funzioni
Il calcolatore di iterazione applica ripetutamente la stessa espressione reale a un numero iniziale e restituisce ogni punto dell’orbita risultante.
Esegui gratis nel browser
Inserisca un’espressione in x, scelga x_0 e specifichi quante iterazioni eseguire. Il risultato comprende il valore iniziale, ogni uscita successiva e il valore finale. Può così studiare relazioni di ricorrenza, punti fissi, cicli, convergenza, divergenza e i primi passi dei sistemi dinamici semplici senza calcolare manualmente ogni sostituzione.
Inserisca la funzione e il valore iniziale
Scriva la regola come espressione in x, per esempio x^2 - 1, cos(x) oppure 0.5*x + 3. Il calcolatore accetta parentesi, numeri decimali e in notazione scientifica, gli operatori +, -, *, / e ^, oltre alle costanti pi ed e. Le funzioni a un argomento disponibili comprendono abs, sqrt, sin, cos, tan, exp, ln, log, floor, ceil e round. La moltiplicazione deve essere esplicita: scriva 2*x, non 2x. Fornisca quindi un valore reale finito come punto di partenza. Questo è x_0, il primo elemento dell’orbita, non il risultato della prima applicazione. Infine scelga da zero a mille iterazioni. Il valore zero restituisce soltanto il punto iniziale e consente di verificare che l’input sia stato interpretato correttamente. Le espressioni vengono analizzate come formule matematiche e mai eseguite come codice; nomi, sintassi oppure operazioni estranei alla grammatica documentata producono un chiaro errore di input.
Legga l’orbita nell’ordine corretto
Se la regola inserita è f e il valore iniziale è x_0, il calcolatore determina x_1 = f(x_0), poi x_2 = f(x_1), e prosegue fino a x_n. L’array orbit contiene quindi n + 1 valori: quello iniziale all’indice zero, seguito da un valore per ogni applicazione richiesta. Il campo final_value ripete l’ultimo elemento per agevolarne l’uso negli script, mentre iterations registra quante applicazioni sono state richieste. Questa distinzione evita un comune errore di conteggio. Per esempio, tre iterazioni non restituiscono tre punti complessivi, bensì x_0, x_1, x_2 e x_3. I valori sono normalizzati a quindici cifre significative per ridurre le fastidiose code della virgola mobile binaria conservando una precisione utile. La normalizzazione non trasforma l’iterazione numerica in algebra simbolica e, dopo molti passaggi, l’arrotondamento può influenzare sistemi estremamente sensibili. Consideri le orbite caotiche lunghe come approssimazioni numeriche, soprattutto quando valori iniziali vicini si separano rapidamente.
Interpreti convergenza, cicli ed errori
I valori successivi rivelano spesso il comportamento qualitativo di una ricorrenza. Quando gli ultimi elementi si stabilizzano vicino a un numero, questo può essere un punto fisso attrattivo: sostituendolo nella funzione si ottiene approssimativamente lo stesso valore. L’alternanza tra pochi valori ripetuti suggerisce un ciclo, mentre grandezze in continuo aumento possono indicare divergenza. Un elenco finito non dimostra da solo nessuno di questi comportamenti, ma offre indizi e un punto di partenza pratico per l’analisi. Confronti le orbite di diversi valori iniziali vicini quando studia la stabilità. Il calcolatore si arresta con un errore di input se un’operazione produce Infinity o NaN, per esempio dopo una divisione per zero, la radice quadrata di un numero negativo o un logaritmo non valido. L’errore identifica l’iterazione in cui l’orbita reale ha cessato di esistere. I limiti fissi su lunghezza e iterazioni rendono prevedibile l’esecuzione nel browser e via API. Senza rete, casualità, orologio o stato nascosto, lo stesso input valido produce sempre lo stesso risultato.
Casi d'uso
Esplorare una relazione di ricorrenza
Generi i valori da x_0 a x_n per una regola come x^2 - 1 senza ripetere manualmente le sostituzioni.
Cercare la convergenza a un punto fisso
Verifichi se le uscite successive si avvicinano a un valore quasi invariato da un’altra applicazione.
Confrontare valori iniziali vicini
Esegua la stessa funzione non lineare da condizioni iniziali prossime e confronti l’evoluzione delle orbite numeriche.
Domande frequenti
L’orbita comprende il valore iniziale?
Sì. Il primo elemento è x_0, seguito da un’uscita per ogni iterazione richiesta.
Quale sintassi delle espressioni è supportata?
Utilizzi x, numeri, pi, e, parentesi, +, -, *, /, ^ e le funzioni documentate a un argomento. La moltiplicazione deve essere esplicita.
Che cosa accade se un’iterazione non è definita?
Il calcolo si arresta e restituisce un errore di input indicando l’iterazione che ha prodotto un valore non finito.
Perché un’orbita caotica può differire dal risultato teorico esatto?
È un’iterazione numerica in virgola mobile. Piccole differenze di arrotondamento possono crescere rapidamente nei sistemi sensibili.
Quanto costa un calcolo via API?
Ogni richiesta API costa $0.002. Lo stesso calcolatore deterministico è disponibile anche nel browser.
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/algebra/function-iteration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"function":"x^2 - 1","start":1.5,"iterations":4}'const res = await fetch("https://api.kit.forhosting.com/algebra/function-iteration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"function": "x^2 - 1",
"start": 1.5,
"iterations": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/function-iteration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"function": "x^2 - 1",
"start": 1.5,
"iterations": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/function-iteration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"function":"x^2 - 1","start":1.5,"iterations":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"function":"x^2 - 1","start":1.5,"iterations":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/function-iteration", 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
{
"function": "x^2 - 1",
"start": 1.5,
"iterations": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.function_iteration",
"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_iterations | 1000 |
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. |