Primeiro devemos definir uma função (equação) de que queremos calcular a raiz. Por exemplo:
Em PHP está função fica da forma:
function funcao($x) {
$fx = pow($x,2) + 2*$x - 3;
return $fx;
}
Agora que definimos a função, devemos definir sua derivada:
Em PHP:
function derivada($x) {
$flinhax = 2*$x + 2;
return $flinhax;
}
Com a função e sua derivada prontas, iremos construir o algoritmo (já em linguagem PHP) que determina o método de Newton.
function metodo_de_newton($x) {
$funcao = funcao($x);
$derivada = derivada($x);
$xi_mais_1 = $x - $funcao/$derivada; // Este é o algoritmo!
return $xi_mais_1;
}
Devemos definir o número máximo de repetições e o valor inicial e colocar o algoritmo para funcionar como a seqüência exibida na página anterior.
$L = 10; // Número máximo de repetições
$i = 0; // Valor da primeira repetição (poderia ser 1 também)
$xi = array(); // Valores da seqüência
$xi[0] = ??; // 1o. valor da seqüência, o ponto de partida, o valor inicial
Exibimos os valores obtidos com a primeira iteração:
echo "<table align=\"center\" border=\"1\">\n";
echo "<tr bgcolor=\"999999\"><td align=\"center\">n</td><td align=\"center\">x<sub>n</sub></td><td align=\"center\">f(x<sub>n</sub>)</td><td align=\"center\">f'(x<sub>n</sub>)</td><td align=\"center\">ERRO</td></tr>\n";
echo "<tr><td>0</td><td>" .$xi[0] . "</td><td>" . funcao($xi[0]) . "</td><td>" . derivada($xn[0]) . "</td><td align=\"center\">****</td></tr>\n";
Utilizamos um comando "while" para que o método se repita até o número máximo de repetições, ou quando achar o zero da função, ou o valor da derivada for zero:
while ($i < $L) {
if (flinha($xn[$i]) == 0 || funcao($xn[$i]) == 0) {
$i = $L + 1;
} else {
$xn[$i+1] = algoritmo($xn[$i]); // Sequência exibida na página anterior!
$erro = abs($xn[$i+1] - $xn[$i]); // Calcula o valor do erro nas aproximações,
// para saber mais sobre o cálculo do erro
// consulte a referência [3].
echo "<tr><td>";
echo $i+1;
echo "</td><td>" . $xn[$i+1] . "</td><td>" . funcao($xn[$i+1]) . "</td><td>" . flinha($xn[$i+1]) . "</td><td>$erro</td></tr>\n";
$i = $i + 1;
}
}
echo "</table>"; // Para "fechar" a tabela que abrimos.
Nossa aplicação em PHP do método de Newton está pronta. Na próxima página você terá todo o código já pronto para o uso.
OBS: Esta aplicação só calcula raízes reais. Deve-se organizar o algoritmo para que ele possa calcular raízes imaginárias.