Matlab数值定点法错误解决方案

时间:2014-06-05 13:59:03

标签: matlab numerical-methods

我有以下代码

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

0 个答案:

没有答案