牛顿迭代法求一个方程的解 MATLAB
1个回答
展开全部
m=0;%起始点
e=0.00001;%精度
h=0.000001;%步长
f=inline('1-y-2*sin(y+3)','y'); %x=1,c=2,k=3代入具体数值
t=0;
f0=feval(f,m);
f2=feval(f,m+h);
f1=feval(f,m-h);
n=m-2*h*f0/(f2-f1);
while abs(1-m/n)>e
m=n;
f0=feval(f,m);
f2=feval(f,m+h);
f1=feval(f,m-h);
n=m-2*h*f0/(f2-f1);
t=t+1;
if t>999
break
end
end
if t==1000
disp('没找到方程的根!')
else
disp(m);%方程的解
end
e=0.00001;%精度
h=0.000001;%步长
f=inline('1-y-2*sin(y+3)','y'); %x=1,c=2,k=3代入具体数值
t=0;
f0=feval(f,m);
f2=feval(f,m+h);
f1=feval(f,m-h);
n=m-2*h*f0/(f2-f1);
while abs(1-m/n)>e
m=n;
f0=feval(f,m);
f2=feval(f,m+h);
f1=feval(f,m-h);
n=m-2*h*f0/(f2-f1);
t=t+1;
if t>999
break
end
end
if t==1000
disp('没找到方程的根!')
else
disp(m);%方程的解
end
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询