Calculadora de propagação de erros
Multiplique 2 ± 0,1 por 3 ± 0,2 e você recebe 6 com incerteza padrão combinada de 0,5, além da parte que cada dado acrescenta. Somas, produtos, potências, raízes quadradas e logaritmos seguem a mesma regra de primeira ordem. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Quando uma grandeza derivada é calculada a partir de entradas medidas, o erro-padrão de cada entrada contribui para a incerteza do resultado. A propagação de erros de primeira ordem — a aproximação linear gaussiana ou GUM — combina essas contribuições por meio das derivadas parciais da fórmula. Esta calculadora de propagação de erros aceita uma fórmula algébrica junto com valores nomeados e seus erros-padrão, avalia a expressão e devolve o resultado com a incerteza-padrão combinada sob a hipótese usual de que as entradas são independentes. Soma, produtos, quocientes, potências e funções comuns de laboratório como raiz quadrada e logaritmo cabem no mesmo contrato, para que você não precise decorar uma identidade especial para cada experimento.
O que a propagação de erros de primeira ordem realmente calcula
A propagação de erros responde a uma pergunta de laboratório que uma calculadora nua nunca faz: se cada entrada é conhecida apenas até um erro-padrão declarado, qual é a incerteza-padrão do número que você acabou de calcular? A regra gaussiana de primeira ordem, que também é o termo linear do Guia para a Expressão da Incerteza de Medição, lineariza a fórmula em torno do ponto medido e soma as contribuições independentes em quadratura.
Por escrito, a incerteza-padrão combinada é a raiz quadrada da soma de cada derivada parcial vezes o erro-padrão correspondente, tudo ao quadrado. Em uma soma ou diferença as parciais valem mais um ou menos um, então a incerteza combinada é simplesmente a raiz da soma dos quadrados dos erros de entrada. Em um produto ou quociente a mesma identidade vira a conhecida combinação de erros relativos.
Em uma potência, uma raiz quadrada ou um logaritmo a parcial deixa de ser trivial, e por isso um motor de fórmulas geral é mais honesto do que um par de botões rígidos de produto e soma. Esta calculadora avalia a fórmula com diferenciação automática em modo direto, de forma que cada operador e cada função suportados contribuem com uma primeira derivada exata, e não com um chute por diferenças finitas que dependa de um passo oculto.
As entradas são tratadas como não correlacionadas: não há matriz de covariâncias, nem sorteio Monte Carlo, nem termo hessiano de segunda ordem. Esse é o modelo independente de primeira ordem dos livros, usado em laboratórios de graduação e na maioria das colunas de incerteza de um LIMS. Se algum erro-padrão resultar negativo, a solicitação é rejeitada, porque um erro-padrão é uma largura não negativa, não um resíduo com sinal.
Zero é permitido e significa que aquela entrada é tratada como exata. A resposta informa o resultado avaliado, a incerteza combinada, as incertezas relativa e percentual opcionais quando o resultado não é zero, e um detalhamento por variável das parciais e das contribuições à variância para você ver qual medição domina o orçamento.
Contrato de entrada, fórmulas aceitas e como os erros são informados
Pelo menos uma variável é exigida e a lista tem um teto para que um despejo colado de caderno não dispare. A sintaxe aceita inclui mais, menos, multiplicar, dividir, potência com circunflexo ou estrela dupla, parênteses e multiplicação implícita como dois pi r ou dois a. As constantes embutidas são pi e e.
As funções embutidas são sqrt, exp, ln, log (natural), log10, sin, cos, tan, abs, asin, acos, atan e pow, com argumentos trigonométricos em radianos. Uma checagem clássica de produto é a fórmula a vezes b com a igual a dois mais ou menos um décimo e b igual a três mais ou menos dois décimos: o resultado é seis e a incerteza combinada é exatamente um meio, porque as parciais valem três e dois.
Uma checagem de densidade m sobre v com massa dez mais ou menos um décimo e volume dois mais ou menos cinco centésimos produz cinco com incerteza combinada perto de cento e trinta e cinco milésimos.
Quando vale a pena propagar a incerteza
Laboratórios de graduação em física, química e engenharia pedem que estudantes citem um resultado derivado com uma incerteza combinada em vez de copiar só o valor central de uma calculadora. Plataformas de ensino e geradores de prova precisam de um oráculo determinístico que marque um erro-padrão negativo como inválido, em vez de tomar um valor absoluto e pontuar em silêncio uma planilha descuidada como correta.
Laboratórios analíticos e de calibração anexam uma incerteza de primeira ordem a fórmulas de densidade, resistência, vazão e rendimento dentro de um LIMS ou de tarefas de caderno, sem levantar um sistema de álgebra computacional. Equipes de qualidade e metrologia comparam qual entrada domina a contribuição à variância quando decidem se compram uma balança melhor ou um termômetro melhor. A validação com falha não consome saldo.
Casos de uso
Relatórios de laboratório e gabaritos
Estudantes inserem uma fórmula mais cada valor medido e o erro-padrão para conferir a incerteza combinada com a regra de primeira ordem usada em laboratórios de física e química na graduação.
Colunas de incerteza em LIMS e cadernos
Anexe uma incerteza combinada determinística a fórmulas de densidade, resistência ou rendimento em sistemas de informação laboratorial e cadernos de análise, sem depender de um sistema de álgebra computacional.
Revisões do orçamento de incerteza
Inspecione as contribuições à variância por variável para ver qual medição domina a incerteza combinada antes de comprar um instrumento melhor ou repetir uma corrida.
Perguntas frequentes
Como a incerteza combinada é calculada?
As parciais vêm da diferenciação automática em modo direto da fórmula.
As variáveis de entrada são consideradas independentes?
Sim. A incerteza combinada é a raiz da soma dos quadrados dos termos individuais (parcial × erro-padrão). Entradas correlacionadas e a propagação Monte Carlo ficam fora do alcance desta página.
Quais fórmulas e funções são aceitas?
Você pode usar + − * / ^, parênteses, multiplicação implícita, as constantes pi e e, e as funções sqrt, exp, ln, log, log10, sin, cos, tan, abs, asin, acos, atan e pow. Os argumentos trigonométricos estão em radianos.
Como vejo qual medição pesa mais na incerteza?
Olhe o detalhamento de cada dado, que mostra a derivada parcial e a contribuição. No exemplo, o segundo dado contribui com 0,4 e o primeiro com 0,3, então medir melhor o segundo é o que mais ajuda.
O erro padrão pode ser zero?
Sim. Zero significa que aquele dado é tratado como exato e não acrescenta nada à incerteza combinada. Só erros padrão negativos são recusados, porque um erro padrão é uma largura e não tem sinal.
Ferramentas relacionadas
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/stat/error-propagation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}'const res = await fetch("https://api.kit.forhosting.com/stat/error-propagation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/error-propagation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/error-propagation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"formula":"a*b","variables":[{"name":"a","value":2,"std_error":0.1},{"name":"b","value":3,"std_error":0.2}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/error-propagation", 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
{
"formula": "a*b",
"variables": [
{
"name": "a",
"value": 2,
"std_error": 0.1
},
{
"name": "b",
"value": 3,
"std_error": 0.2
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.error_propagation",
"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_formula_len | 400 |
max_variables | 24 |
max_abs | 1000000000000000 |
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. |
Notas técnicas
Um erro-padrão negativo é rejeitado com invalid_input em vez de ser tomado em valor absoluto em silêncio.
Contrato de entrada, fórmulas aceitas e como os erros são informados
Envie um corpo JSON com POST e dois campos obrigatórios. formula é uma expressão algébrica cujos identificadores coincidem com os nomes que você vai fornecer; os apelidos expression, expr e f são aceitos. variables é uma lista de registros, cada um com name, value e std_error, com apelidos vars, inputs e measurements para a lista e error, se, sigma ou uncertainty para a célula do erro-padrão. Campos ausentes, fórmulas vazias, identificadores desconhecidos, nomes de função reservados usados como variáveis, números não finitos e qualquer std_error negativo falham com invalid_input nomeando o problema, e essas falhas não são cobradas. Em caso de sucesso, o corpo ecoa a fórmula, devolve result e combined_uncertainty como par principal, define method como first_order_gaussian e independent como true, reescreve a identidade de quadratura e lista cada entrada com sua derivada parcial, contribuição absoluta e contribuição à variância. Combine o JSON com o seu próprio arredondamento de algarismos significativos se um modelo de relatório exigir uma exibição particular; este endpoint conserva doze casas decimais para que os goldens e os pipelines fiquem estáveis entre motores JavaScript.
Onde uma API de propagação de erros justifica o custo
Como a implementação é parse de nível A puro, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002, sem tokens de modelo e sem rede de saída. Mantenha as fórmulas curtas, nomeie cada identificador e fixe nos testes o result e o combined_uncertainty arredondados, e você terá incerteza reproduzível para tarefas, workers de borda e scripts de laboratório, sem reimplementar a regra linear GUM em cada linguagem que entregar.
Perguntas técnicas
Quanto custa a calculadora de propagação de erros?
A ferramenta do navegador é gratuita. As solicitações de API usam saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida, inclusive um erro-padrão negativo, não é cobrada.
Por que erros-padrão negativos são rejeitados?
Um erro-padrão é uma largura não negativa. Um valor negativo quase sempre é um erro de sinal ou um resíduo trocado, então a tarefa falha com invalid_input em vez de tomar um valor absoluto.