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

牛顿迭代法求一个方程的解 MATLAB
用MATLAB求方程
y=x-c*sin(y+k)
其中,x,c,k都为已知
就是求y就好了
雨天蜗牛 1年前 已收到1个回答 举报

adwfire 幼苗

共回答了29个问题采纳率:93.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

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.015 s. - webmaster@yulucn.com