Secant method error, "subscript indicies must be real or positive integers"
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
here is my code, I get the error at line 10 at x(n+1) = x(n) - .... I have also attached it as an .m file
Matlab code
y = @(x) x.^3 - .3;
x(1) = .01;
x(2) = .02;
tol = 1e-5;
eps = 500;
iteration_secant = 0;
n = 1;
while abs(eps) > tol
x(n+1) = x(n) - ((y(x(n))*(x(n)-x(n-1))/(y(x(n))-y(x(n-1)))));
iteration_secant = iteration_secant +1;
eps = ((x(n+1) - x(n))/x(n));
n=n+1;
if n > 100
break
end
end
x(n+1)
0 comentarios
Respuestas (1)
Roger Stafford
el 31 de Oct. de 2016
You enter the while loop with n = 1. This means that x(n-1) would have an index value of zero. This is a no-no in Matlab. You will have to revise your code to avoid this.
Ver también
Categorías
Más información sobre Entering Commands en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!