Matlab - aplicasion a matlab

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Método de Newton-Raphson y gráficas

Publicado por Alejandro (145 intervenciones) el 05/10/2023 22:21:50
Nani, un tema común en análisis numérico es la resolución de ecuaciones no lineales, y el método de Newton-Raphson es una técnica popular para abordar este problema. Aquí tienes un programa en Matlab que implementa el método de Newton-Raphson para encontrar la raíz de una función, y también incluye gráficas para visualizar el proceso de convergencia:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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

Puedes probar este programa con una función y su derivada. Aquí hay un ejemplo:

1
2
3
4
5
6
7
8
9
10
% 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)]);

Este ejemplo encuentra la raíz cuadrada de 2 utilizando el método de Newton-Raphson. La función y su derivada se definen en el ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar