0% encontró este documento útil (0 votos)
7 vistas2 páginas

Método de Steffensen en MATLAB

El código implementa el método de Steffensen en MATLAB para encontrar raíces de una función g(x). Se inicializa con un valor x0 y se itera hasta que la diferencia entre x y g(x) sea menor que una tolerancia especificada o se alcance un número máximo de iteraciones. Si no se logra la convergencia, se muestra un mensaje de advertencia.

Cargado por

Ines Nava
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas2 páginas

Método de Steffensen en MATLAB

El código implementa el método de Steffensen en MATLAB para encontrar raíces de una función g(x). Se inicializa con un valor x0 y se itera hasta que la diferencia entre x y g(x) sea menor que una tolerancia especificada o se alcance un número máximo de iteraciones. Si no se logra la convergencia, se muestra un mensaje de advertencia.

Cargado por

Ines Nava
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Implementación en MATLAB:

Matlab
function [x, iteraciones] = metodo_steffensen(g, x0, tolerancia,
max_iteraciones)

% Inicialización
x = x0;
iteraciones = 0;

% Bucle de iteración
while abs(x - g(x)) > tolerancia && iteraciones < max_iteraciones

% Cálculo de valores intermedios


x_medio = g(x);
x_siguiente = g(x_medio);

% Cálculo del siguiente valor de x utilizando la fórmula de


Steffensen
x = x - (x_medio - x)^2 / (x_siguiente - 2*x_medio + x);

% Actualización del valor de x


x = x_siguiente;

% Incrementar el contador de iteraciones


iteraciones = iteraciones + 1;
end

% Mensaje de salida
if abs(x - g(x)) > tolerancia
disp('No se alcanzó la convergencia en el número máximo de
iteraciones.');
end

end

Explicación del código:

 La función metodo_steffensen recibe como argumentos la función g(x), un valor


inicial x0, una tolerancia de error tolerancia y un número máximo de iteraciones
max_iteraciones.
 Se inicializan las variables x con el valor inicial y iteraciones en 0.
 El bucle while itera mientras la diferencia entre x y g(x) sea mayor a la tolerancia
y el número de iteraciones sea menor al máximo permitido.
 Dentro del bucle, se calculan valores intermedios x_medio y x_siguiente
aplicando la función g(x) a x y x_medio respectivamente.
 La fórmula de Steffensen se utiliza para calcular el siguiente valor de x basado en la
diferencia entre los valores intermedios.
 El valor de x se actualiza con x_siguiente para la siguiente iteración.
 El contador de iteraciones iteraciones se incrementa.
 Fuera del bucle, se muestra un mensaje de advertencia si no se alcanza la
convergencia.

También podría gustarte