用弦截法任意实数方程求实根 用matlab 语言编程

如题:x/y-y*sin(x^y)=1在y属于0到5区间的根.x=0.15.... 如题:x/y-y*sin(x^y)=1在y属于0到5区间的根.x=0.15. 展开
 我来答
匿名用户
推荐于2018-05-04
展开全部
由于y=0是一个没有意义的点,故从0.01开始。输入:y=secant('0.15/y-y*sin(0.15^y)-1',0.01,5)结果:y = 0.1369其中secant.m内容为:function root=Secant(f,a,b,eps)
if(nargin==3)
eps=1.0e-6;
endf1=subs(sym(f),findsym(sym(f)),a);
f2=subs(sym(f),findsym(sym(f)),b);
if(f1==0)
root=a;
end
if(f2==0)
root=b;
endif(f1*f2>0)
disp('两端点函数值乘积大于0!');
return;
else
tol=1;
fa=subs(sym(f),findsym(sym(f)),a);
fb=subs(sym(f),findsym(sym(f)),b);
root=a-(b-a)*fa/(fb-fa);
while(tol>eps)
r1=root;
fx=subs(sym(f),findsym(sym(f)),r1);
s=fx*fa;
if(s==0)
root=r1;
else
if(s>0)
root=b-(r1-b)*fb/(fx-fb);
else
root=a-(r1-a)*fa/(fx-fa);
end
end
tol=abs(root-r1);
end
end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式