1 Implemente o método de Newton utilizando o Octave a partir
do material disponibilizado. O código implementado deve atender
os seguintes itens:
(a) Uma funçãoo cujo zero será determinado pelo código implmentado.(Obs:
Cada um deverá escolher sua própria função.)
(b) Dois critérios de parada.
(c) O zero da funçãoo obtido pelo método.
O codigo:
clc
%% Neste bloco você deve definir a função cujo zero será calculado.
function y = f(x);
y = x^2-3;
return
end
%% O método de Newton envolve o cálculo de uma derivada. Este bloco faz o cálculo desta derivada.
%% O uso desta expressão para a derivada será discutido mais adiante no curso.
function dy = df(x)
dy = (f(x+0.001) - f(x-0.001))/(2*0.001);
return
end
%% A partir de f e df, você deve implementar o processo iterativo.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
clc
%% Função cujo zero será determinado pelo código implementado.
function y = f(x)
y = x^2 - 3;
end
%% Derivada da função f(x)
function dy = df(x)
dy = 2*x; % Derivada da função f(x) = 2x
end
%% Método de Newton
function zero = metodoNewton(f, df, x0, tol1, tol2, max_iter)
iter = 0;
x = x0;
while iter < max_iter
iter = iter + 1;
x_prev = x;
% Verifica o primeiro critério de parada: |f(x)| < tol1
if abs(f(x)) < tol1
zero = x;
fprintf('Zero da função encontrado com tolerância %f após %d iterações.\n', tol1, iter);
return;
end
% Verifica o segundo critério de parada: |x - x_prev| < tol2
if abs(x - x_prev) < tol2
zero = x;
fprintf('Zero da função encontrado com variação %f após %d iterações.\n', tol2, iter);
return;
end
% Calcula o próximo ponto usando o método de Newton
x = x - f(x) / df(x);
end
fprintf('Número máximo de iterações alcançado.\n');
end
% Parâmetros de entrada
x0 = 1; % Aproximação inicial
tol1 = 1e-6; % Tolerância para o valor de f(x)
tol2 = 1e-6; % Tolerância para a variação entre iterações
max_iter = 100; % Número máximo de iterações
% Chamada do método de Newton
zero = metodoNewton(@f, @df, x0, tol1, tol2, max_iter);
fprintf('Zero da função: %f\n', zero);
Neste exemplo, a função f(x)
escolhida é f(x)=x^2?3. O método de Newton é implementado na função metodoNewton
, que toma como entrada a função f(x)
, sua derivada df(x)
, uma aproximação inicial x0
, duas tolerâncias (tol1
e tol2
) e o número máximo de iterações max_iter
.
Espero que este código atenda aos seus critérios e ajude você a compreender e implementar o método de Newton em Octave.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.