Calculadora de iteração de funções
A calculadora de iteração de funções aplica repetidamente a mesma expressão real a um número inicial e devolve todos os pontos da órbita resultante.
Executar grátis
Informe uma expressão em x, escolha x_0 e determine quantas iterações deseja executar. O resultado inclui o valor inicial, cada saída sucessiva e o valor final. Assim, você pode estudar relações de recorrência, pontos fixos, ciclos, convergência, divergência e os primeiros passos de sistemas dinâmicos simples sem calcular cada substituição manualmente.
Informe a função e o valor inicial
Escreva a regra como uma expressão em x, por exemplo x^2 - 1, cos(x) ou 0.5*x + 3. A calculadora aceita parênteses, números decimais e em notação científica, os operadores +, -, *, / e ^, além das constantes pi e e. As funções de um argumento disponíveis incluem abs, sqrt, sin, cos, tan, exp, ln, log, floor, ceil e round. A multiplicação precisa ser explícita: escreva 2*x, e não 2x. Em seguida, forneça um valor real finito como ponto de partida. Esse valor é x_0, o primeiro elemento da órbita, e não o resultado da primeira aplicação. Por fim, escolha de zero a mil iterações. O valor zero devolve apenas o ponto inicial e ajuda a confirmar se a entrada foi interpretada corretamente. As expressões são analisadas como matemática, nunca executadas como código; nomes, sintaxes ou operações fora da gramática documentada geram um erro de entrada claro.
Leia a órbita na ordem correta
Se a regra informada for f e o valor inicial for x_0, a calculadora obtém x_1 = f(x_0), depois x_2 = f(x_1), e continua até x_n. Portanto, o array orbit contém n + 1 valores: o inicial no índice zero e, na sequência, um valor para cada aplicação solicitada. O campo final_value repete o último elemento para facilitar o uso em scripts, enquanto iterations registra quantas aplicações foram pedidas. Essa distinção evita um erro comum de contagem. Por exemplo, três iterações não devolvem três pontos no total, mas x_0, x_1, x_2 e x_3. Os valores são normalizados para quinze algarismos significativos, reduzindo resíduos incômodos da representação binária em ponto flutuante sem eliminar a precisão útil. A normalização não transforma iteração numérica em álgebra simbólica, e o arredondamento pode afetar sistemas extremamente sensíveis após muitas etapas. Considere órbitas caóticas longas como aproximações numéricas, principalmente quando valores iniciais próximos se afastam rapidamente.
Interprete convergência, ciclos e falhas
Valores sucessivos frequentemente revelam o comportamento qualitativo de uma recorrência. Quando as últimas entradas se estabilizam perto de um número, ele pode ser um ponto fixo atrativo: sua substituição na função produz aproximadamente o mesmo valor. A alternância entre poucos valores recorrentes sugere um ciclo, enquanto magnitudes em crescimento contínuo podem indicar divergência. Uma lista finita não prova sozinha nenhum desses comportamentos, mas oferece indícios e um ponto de partida prático para a análise. Compare órbitas de vários valores iniciais próximos ao investigar estabilidade. A calculadora para com um erro de entrada se alguma operação produzir Infinity ou NaN, como pode ocorrer após divisão por zero, raiz quadrada de número negativo ou logaritmo inválido. O erro identifica a iteração em que a órbita real deixou de existir. Limites fixos para o tamanho da expressão e a quantidade de iterações mantêm previsível a execução no navegador e via API. Sem rede, aleatoriedade, relógio ou estado oculto, entradas válidas idênticas sempre geram a mesma saída.
Casos de uso
Explorar uma relação de recorrência
Gere de x_0 até x_n para uma regra como x^2 - 1 sem repetir substituições manualmente.
Procurar convergência a um ponto fixo
Verifique se as saídas sucessivas se aproximam de um valor quase inalterado por uma nova aplicação.
Comparar valores iniciais próximos
Execute a mesma função não linear com condições iniciais próximas e compare a evolução das órbitas numéricas.
Perguntas frequentes
A órbita inclui o valor inicial?
Sim. A primeira entrada é x_0, seguida por uma saída para cada iteração solicitada.
Qual sintaxe de expressão é aceita?
Use x, números, pi, e, parênteses, +, -, *, /, ^ e as funções documentadas de um argumento. A multiplicação deve ser escrita explicitamente.
O que ocorre quando uma iteração é indefinida?
O cálculo para e devolve um erro de entrada que informa a iteração responsável pelo valor não finito.
Por que uma órbita caótica pode diferir do resultado teórico exato?
Esta é uma iteração numérica em ponto flutuante. Pequenas diferenças de arredondamento podem crescer rapidamente em sistemas sensíveis.
Quanto custa um cálculo via API?
Cada solicitação à API custa US$ 0,002. A mesma calculadora determinística também está disponível no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"function": "x^2 - 1",
"start": 1.5,
"iterations": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.function_iteration",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_iterations | 1000 |
max_expression_chars | 500 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |