ivanlover 发表于 2011-3-27 19:39

MATLAB求解牛顿法

老是报错,不知道错哪里了,求帮助。function F=Newton(a,b,TOL)
N=100;
TOL1=0.01;
k=1;
FA=f(a);
flag=1;
while (b-a)/2 >= TOL1 && k<N
    c=(a+b)/2;
    FP=f(c);
    if abs(FP)<TOL
        p=c;
        flag=2;
        break
    elseif sign(FA)*sign(FP)>0
        a=c;
        FA=FP;
    else
        b=c;
    end
    k=k+1;
end
p=c;
p0=c;
p1=zeros(N,1);
p2=zeros(N,1);
for m=1:N
    p1(m)=p0-f(p0)/g(p0);
    p2(m)=p1(m)-f(p1(m))/g(p1(m));
    p(m+1)=p0-(p1(m)-p0)*(p1(m)-p0)/(p2(m)-2*p1(m)+p0);
    if abs(p(m+1)-p0)<TOL
        flag=0;
        F=;;;];
        break
    else
        p0=p(m+1);
    end
end
if k==N
    fprintf('The Bisection method failed after %d iterations.\n',N);
    F=;
    return
end
if flag==2
    fprintf('The Newton`s method failed after %d iterations.\n',N);
    F= ];
end
F;

ivanlover 发表于 2011-3-27 19:56

走过路过,千万帮我做做………………

jjc616 发表于 2011-3-27 23:23

{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}

ivanlover 发表于 2011-3-28 23:33

回复 jjc616 的帖子

经过两个小时的努力,程序的问题顺利解决啦
页: [1]
查看完整版本: MATLAB求解牛顿法