牛顿迭代法求一个方程的解 MATLAB

问题描述:

牛顿迭代法求一个方程的解 MATLAB
用MATLAB求方程
y=x-c*sin(y+k)
其中,x,c,k都为已知
就是求y就好了
1个回答 分类:数学 2014-10-17

问题解答:

我来补答
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
 
 
展开全文阅读
剩余:2000