Matlab - Método de la secante modificado

 
Vista:

Método de la secante modificado

Publicado por Sara Rada (1 intervención) el 01/10/2022 20:55:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
%% Método de la secante modificado: Ejemplo 6.8.
 
clc
clear
close all
 
%Pedir los datos del ejercicio.
f=input('Ingrese la función: ');
x1=input('Ingrese el valor inicial: ');
delta=input('Ingrese el valor del factor delta: ');
err=input('Ingrese el error máximo permitido a la solución aproximada: ');
 
N=100; %Número de iteraciones posibles.
xx(1)=x1; %Historial de x.
 
for i=1:N
    x2=x1-(f(x1)*delta*x1)/(f(x1+delta*x1)-f(x1)); %Fórmula del método de la secante modificado.
    x1=x2;
    xx(i)=x2; ii=i; %Número de iteraciones.
    Err = abs(xx(i) - xx(i-1));
    if Err<err break
    end %Condición de convergencia.
end
disp(['La raíz es: ' num2str(x2) ' ,con error: ' num2str(Err) ' ,número de iteraciones: ' num2str(ii)])

%Al ejecutar el código, me arroja este error en la línea 16: Array indices must be positive integers or logical values. Los datos que estoy ingresando son: f = exp(-x) - x, x1=1, delta = 0.01, err =0.01 también me gustaría saber cómo puedo mostrar todas las iteraciones (incluyendo los rótulos de cada columna) en la ventana de comandos.
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