数学建模社区-数学中国
标题:
MATLAB求解牛顿法
[打印本页]
作者:
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=[p f(p);[p1 0];[f(p1) 0];[p2 0];[f(p2) 0]];
break
else
p0=p(m+1);
end
end
if k==N
fprintf('The Bisection method failed after %d iterations.\n',N);
F=[a f(a) b f(b)];
return
end
if flag==2
fprintf('The Newton`s method failed after %d iterations.\n',N);
F=[p f(p) [p1;0] [f(p1);0] [p2;0] [f(p2);0]];
end
F;
复制代码
作者:
ivanlover
时间:
2011-3-27 19:56
走过路过,千万帮我做做………………
作者:
jjc616
时间:
2011-3-27 23:23
作者:
ivanlover
时间:
2011-3-28 23:33
回复
jjc616
的帖子
经过两个小时的努力,程序的问题顺利解决啦
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5