Fórmulas
Guia para criação de fórmulas no Construtor de Métodos — sintaxe, funções disponíveis, operações com tabelas e exemplos práticos.
As fórmulas calculam resultados a partir dos dados coletados nos campos de entrada. Cada fórmula possui uma expressão (o cálculo), uma chave de saída (variável que armazena o resultado) e opcionalmente um rótulo e unidade.
Configuração de uma Fórmula
| Propriedade | Obrigatório | Descrição |
|---|---|---|
| Rótulo | Não | Nome descritivo exibido no resultado (ex: "Erro de Medição") |
| Chave de saída | Sim | Variável que armazena o resultado (ex: erro) |
| Expressão | Sim | Cálculo matemático (ex: leitura - padrao) |
| Unidade | Não | Unidade exibida junto ao resultado (ex: mm) |
A chave de saída segue as mesmas regras de nomenclatura dos campos de entrada.
Sintaxe de Expressões
Operadores Aritméticos
| Operador | Descrição | Exemplo |
|---|---|---|
+ | Adição | a + b |
- | Subtração | a - b |
* | Multiplicação | a * b |
/ | Divisão | a / b |
^ | Potenciação | a ^ 2 |
% | Módulo | a % 2 |
Funções Disponíveis
Gerais:
| Função | Descrição | Exemplo |
|---|---|---|
abs(x) | Valor absoluto | abs(erro) |
sqrt(x) | Raiz quadrada | sqrt(variancia) |
pow(x, n) | Potenciação | pow(desvio, 2) |
round(x) | Arredondamento | round(resultado) |
ceil(x) | Arredonda para cima | ceil(valor) |
floor(x) | Arredonda para baixo | floor(valor) |
sign(x) | Sinal (-1, 0 ou 1) | sign(erro) |
Exponenciais e Logarítmicas:
| Função | Descrição |
|---|---|
exp(x) | |
log(x) | Logaritmo natural () |
log10(x) | Logaritmo base 10 |
log2(x) | Logaritmo base 2 |
Trigonométricas:
| Função | Descrição |
|---|---|
sin(x), cos(x), tan(x) | Seno, cosseno, tangente |
asin(x), acos(x), atan(x) | Inversas |
atan2(y, x) | Arco tangente de y/x |
sinh(x), cosh(x), tanh(x) | Hiperbólicas |
Estatísticas (para colunas de tabela):
| Função | Descrição | Exemplo |
|---|---|---|
mean(v) | Média aritmética | mean(leituras_valor) |
std(v) | Desvio padrão | std(leituras_valor) |
variance(v) | Variância | variance(leituras_valor) |
sum(v) | Soma | sum(leituras_valor) |
min(v) | Menor valor | min(leituras_valor) |
max(v) | Maior valor | max(leituras_valor) |
median(v) | Mediana | median(leituras_valor) |
Constantes:
| Constante | Valor |
|---|---|
pi | |
e |
Variáveis Ambientais
Quando o técnico registra as condições ambientais durante a execução, três variáveis são injetadas automaticamente no contexto de cálculo:
| Variável | Descrição | Unidade |
|---|---|---|
env_temperature | Temperatura ambiente registrada | °C |
env_humidity | Umidade relativa registrada | %RH |
env_pressure | Pressão atmosférica registrada | hPa |
Essas variáveis podem ser usadas em qualquer expressão de fórmula para incorporar as condições ambientais nos cálculos de incerteza ou correção. Se o técnico não preencher um campo ambiental, a variável correspondente não estará disponível.
Para mais detalhes sobre configuração de limites, consulte Monitoramento Ambiental.
Referenciando Variáveis
Nas expressões, use diretamente a chave definida nos campos ou em fórmulas anteriores:
// Campos de entrada
temp_instrumento - temp_padrao
// Variáveis ambientais
env_temperature - 20
// Coluna de tabela (formato: nomeTabela_nomeColuna)
mean(leituras_valor)
// Resultado de fórmula anterior
abs(erro) / tolerancia
// Acesso indexado a tabela
leituras_valor_0 - leituras_valor_1Encadeamento de Fórmulas
As fórmulas são executadas na ordem em que foram adicionadas. Cada fórmula pode referenciar:
- Variáveis dos campos de entrada
- Resultados de fórmulas anteriores (pela chave de saída)
A ordem importa. Uma fórmula não pode referenciar o resultado de uma fórmula que aparece depois dela na lista. Reordene as fórmulas se necessário.
Exemplo de encadeamento:
| Ordem | Rótulo | Chave | Expressão |
|---|---|---|---|
| 1 | Média das Leituras | media | mean(leituras_valor) |
| 2 | Erro | erro | media - padrao |
| 3 | Erro Relativo | erro_relativo | abs(erro) / padrao * 100 |
A fórmula 2 usa media (resultado da fórmula 1). A fórmula 3 usa erro (resultado da fórmula 2) e padrao (campo de entrada).
Operações com Tabelas
Quando um campo do tipo tabela possui uma coluna numérica, funções estatísticas ficam disponíveis automaticamente.
Para uma tabela com chave medicoes e coluna valor:
| Variável | Tipo | Descrição |
|---|---|---|
medicoes_valor | Vetor | Todos os valores da coluna (para funções estatísticas) |
medicoes_valor_0 | Número | Primeiro valor (índice 0) |
medicoes_valor_1 | Número | Segundo valor |
medicoes_valor_count | Número | Quantidade de linhas |
Variáveis vetoriais (como medicoes_valor) só podem ser usadas dentro de funções estatísticas (mean, std, sum, etc.). Para operações com valores individuais, use o acesso indexado (medicoes_valor_0).
Exemplo Completo: Micrômetro
Cenário: calibração de micrômetro com 5 leituras repetidas em um bloco padrão.
Campos de Entrada
| Rótulo | Chave | Tipo |
|---|---|---|
| Valor Nominal do Padrão | padrao | Número (mm) |
| Tolerância | tolerancia | Número (mm) |
| Leituras | leituras | Tabela |
A tabela leituras possui uma coluna:
| Rótulo | Chave | Tipo | Unidade |
|---|---|---|---|
| Valor Medido | valor | Número | mm |
Fórmulas (em ordem)
| # | Rótulo | Chave | Expressão |
|---|---|---|---|
| 1 | Média | media | mean(leituras_valor) |
| 2 | Desvio Padrão | desvio | std(leituras_valor) |
| 3 | Incerteza Tipo A | u_a | desvio / sqrt(leituras_valor_count) |
| 4 | Erro | erro | media - padrao |
Fluxo de Cálculo
Com dados de exemplo (padrão = 10,000 mm, leituras = [10,002, 10,001, 10,003, 10,001, 10,002]):
media=mean([10.002, 10.001, 10.003, 10.001, 10.002])= 10,0018desvio=std([10.002, 10.001, 10.003, 10.001, 10.002])= 0,000837u_a=0.000837 / sqrt(5)= 0,000374erro=10.0018 - 10.000= 0,0018 mm
Resultados intermediários preservam toda a precisão. O arredondamento para exibição é aplicado apenas no final, conforme as casas decimais configuradas na fórmula ou no certificado.