aplicasion a matlab
Publicado por nani (1 intervención) el 01/11/2004 17:53:19
necesito un algoritmo o programa en matlab que sea aplicado a algun tema de analisis numericos... y ojala tambien incluya greficas
Valora esta pregunta


0
function [raiz, historial] = newtonRaphson(f, df, x0, tolerancia, max_iter)
% Método de Newton-Raphson para encontrar la raíz de una función
% f: Función
% df: Derivada de la función
% x0: Valor inicial
% tolerancia: Tolerancia para la convergencia
% max_iter: Número máximo de iteraciones
historial = zeros(max_iter, 1);
x = x0;
for i = 1:max_iter
% Método de Newton-Raphson
x = x - f(x) / df(x);
% Almacenar el historial para graficar la convergencia
historial(i) = x;
% Verificar la convergencia
if abs(f(x)) < tolerancia
break;
end
end
raiz = x;
% Graficar la convergencia
figure;
plot(1:i, historial(1:i), '-o');
title('Convergencia del Método de Newton-Raphson');
xlabel('Iteración');
ylabel('Aproximación de la Raíz');
grid on;
end
% Ejemplo: Encontrar la raíz de f(x) = x^2 - 2
f = @(x) x^2 - 2;
df = @(x) 2 * x;
x0 = 1; % Valor inicial
tolerancia = 1e-6; % Tolerancia para la convergencia
max_iter = 100; % Número máximo de iteraciones
[raiz, historial] = newtonRaphson(f, df, x0, tolerancia, max_iter);
disp(['Raíz aproximada: ', num2str(raiz)]);