我有以下代码
function y = fixedpoint(g,p0,to1,N)
%g - function
%p0 - starting point
%to1 - max error
%N - no. of iterations
for k=1:N
p = feval(g,p0);
abserr = abs(p-p0);
relerr = abserr/(abs(p)+eps);
if (abserr<to1) && (relerr<to1)
break
end
p0 = p;
end
if (k==N)
disp('No fixed point')
end
y = p;
使用我想找到x = f(x)
的解决方案。当我使用x^2 - 2
之类的简单函数使用它时,它可以正常工作,但是当它与tan(x^3)
一起使用时,我会得到非常奇怪的解决方案。
我该如何解释?代码有问题,还是关于tan(x)
函数的某些属性?
奇怪回答的输入数据示例:
y = @(x) tan(x^3);
fixedpoint (y,1,1e-15,1000)
我得到的答案是5.1310e-271