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;
走过路过,千万帮我做做……………… {:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:} 回复 jjc616 的帖子
经过两个小时的努力,程序的问题顺利解决啦
页:
[1]