Encontrar a equação da reta a partir de dois pontos
Quando você precisa passar uma reta por dois pontos dados, o processo é direto, mas tem uma armadilha que eu vi gente cometendo há anos. Vou explicar como fazer e depois mostrar onde os erros costumam aparecer. O primeiro passo é calcular o coeficiente angular. Se você tem os pontos A(x, y) e B(x, y), o valor de m é simplesmente a razão entre a variação de y e a variação de x: m = (y - y) / (x - x). É a taxa de variação média entre os dois pontos, e essa é exatamente a definição geométrica do que o coeficiente angular representa.
A equação da reta no formato ponto-inclinação fica y - y = m(x - x). Você escolhe qualquer um dos dois pontos, substitui os valores que já calculou e resolve para isolar o y. O resultado é a forma reduzida y = mx + n, onde n é o coeficiente linear, ou seja, o ponto onde a reta cruza o eixo y. Pra exemplificar com números concretos: suponha que os pontos sejam P(2, 5) e Q(6, 13). O coeficiente angular é (13 - 5) / (6 - 2) = 8 / 4 = 2. Substituindo na fórmula ponto-inclinação usando o ponto P: y - 5 = 2(x - 2). Desenvolvendo, y = 2x - 4 + 5, então y = 2x + 1. O coeficiente linear é 1, o que significa que a reta corta o eixo y exatamente no ponto (0, 1). Verificação rápida: substituindo x = 6, temos y = 2·6 + 1 = 13, que é exatamente o ponto Q. A conta fecha.
Equação da reta: o caso prático que eu encontrei na análise de dados
Em 2019, estava trabalhando num projeto de calibração de sensores de temperatura e precisei ajustar uma equação da reta a um conjunto de medidas experimentais. Os dados vinham de um termopar tipo K, e o fabricante fornecia uma tabela de referência com aproximadamente 40 pontos entre 0°C e 500°C. A questão era que eu precisava de uma relação linear simples o suficiente pra rodar num microcontrolador sem biblioteca de funções especiais, mas com precisão aceitável. O problema específico foi que a resposta do sensor não era perfeitamente linear. Nos primeiros 100°C, a curva tinha uma ligeira concavidade para cima, e acima de 400°C ela achava uma pequena concavidade para baixo. Se eu tentasse ajustar uma única equação da reta pra todo o intervalo, o erro máximo chegava a cerca de 3,2°C. Isso era inaceitável pra minha aplicação.
👉 Clique no botão abaixo para saber mais sobre o assunto!
A solução que encontrei foi dividir o intervalo em dois segmentos lineares. Ajustei uma equação da reta para 0 a 250°C usando mínimos quadrados, e outra para 250 a 500°C. O ponto de transição em 250°C foi escolhido arbitrariamente, mas testando vários pontos intermediários percebi que o erro total diminuía quando a divisão ficava perto da região onde a curvatura mudava de sinal — o que fazia sentido, já que cada segmento linear aproxima melhor a curva quando ela é mais retilínea localmente. Com essa abordagem, o erro máximo caiu para aproximadamente 0,4°C em todo o intervalo. O custo foi ter duas equações diferentes no código e uma condicional pra saber qual usar, mas isso não era problema nenhum na prática. Se quiser fazer o ajuste por mínimos quadrados do zero, a fórmula do coeficiente angular é m = [n·(xy) - x·y] / [n·(x²) - (x)²], onde n é a quantidade de pontos. O coeficiente linear é n = (y - m·x) / n. Essas fórmulas funcionam pra qualquer conjunto de pontos, mas note que elas pressupõem que o erro está apenas na variável dependente (y). Se ambos os eixos têm incerteza mensurável, o ajuste por mínimos quadrados ordinary least squares não é o método correto — nesse caso, deveria usar regressão de mínimos quadrados gerais ou o método de York, que leva em conta erros em ambas as variáveis. Eu demorei cerca de três semanas descobrindo isso numa revisão de literatura porque a primeira versão do meu ajuste subestimava systematicamente o coeficiente angular quando as incertezas em x eram comparáveis às de y.
Outro ponto que pouca gente menciona: a equação da reta só é válida localmente. Mesmo quando você consegue um R² de 0,999, isso não significa que a relação seja verdadeiramente linear em todo o domínio. Um polinômio de terceiro grau bem comportado pode gerar um R² extremamente alto numa faixa restrita e ainda assim ser non-linear. Sempre plotem os resíduos, não apenas a linha de ajuste. Resíduos aleatórios distribuídos simetricamente em torno de zero indicam que o modelo linear é adequado; padrões sistemáticos nos resíduos são o sinal clássico de que falta algum termo no modelo.
Quando a equação da reta não funciona
A principal limitação é óbvia: retas são lineares. Se a relação entre as variáveis é exponencial, logarítmica ou periódica, nenhuma equação da reta vai capturar o comportamento real, independente de quantos pontos você usar. O que acontece na prática é que as pessoas forçam um ajuste linear num fenômeno não-linear porque é mais fácil de implementar, e depois se surpreendem com erros crescentes quando extrapolam fora da faixa de calibração. Retas verticais também são um problema. A forma y = mx + n não consegue representar x = constante, porque o coeficiente angular seria infinito. Nesse caso, use a forma geral ax + by + c = 0, substituindo b por 0 e resolvendo para a e c. E retas horizontais são triviais: m = 0, então y = n, onde n é o valor constante de y.
Se você tem muitos pontos com ruído significativo e precisa de uma solução rápida, planilhas como o LibreOffice Calc ou o Excel fazem ajustes lineares em dois cliques. A função PROGMQ no Calc, por exemplo, retorna diretamente os coeficientes m e n. Para aplicações que exigem maior rigor estatístico — intervalos de confiança, testes de significância, diagnóstico de outliers — o R ou o Python com a biblioteca scikit-learn são mais adequados. Eu uso o R para análise final e o Python pra integração em pipelines de processamento de dados. Resumindo o essencial: calcule o coeficiente angular com a variação de y dividida pela variação de x, use um dos pontos pra encontrar o intercepto, sempre verifique plausibilidade com pelo menos um ponto extra e plotar os resíduos é obrigatório, não opcional. Quando a linearidade não cabe nos dados, mude de método antes de insistir na reta.