Foto de Maria F.
Maria há 1 ano
Enviada pelo
Site

Alguém me da um help aqui

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.

 

Cálculo
1 resposta
Professor Diogo M.
Respondeu há 1 ano
Contatar Diogo

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.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tutoria com IA
Converse com a Minerva IA e aprenda, tire dúvidas e resolva exercícios
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa