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

2024-10-27 13:44:36

由于y=0是一个没有意义的点,故从0.01开始。

输入:y=secant('0.15/y-y*sin(0.15^y)-1',0.01,5)

结果:y=0.

其中secant.m

内容为:functionroot=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;

endif(f2==0)root=b;

endif(f1*f20)disp('两端点函数值乘积大于0!');

return;

elsetol=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(toleps)r1=root;

fx=subs(sym(f),findsym(sym(f)),r1);

s=fx*fa;

if(s==0)root=r1;

elseif(s0)root=b-(r1-b)*fb/(fx-fb);

elseroot=a-(r1

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

扩展资料

MATLAB软件函数及符号运算

倒数关系

tanα·cotα=1,sinα·cscα=1,cosα·secα=1

商数关系

tanα=sinα/cosα,cotα=cosα/sinα

平方关系

sinα²+cosα²=1,1+tanα²=secα²,1+cotα²=cscα²

函数形式

正弦:sin();余弦:cos();正切:tan();余切:cot();正割:sec();余割:csc();本行括号内的输入参数为实数

正弦:sind();余弦:cosd();正切:tand();余切:cotd();正割:secd();余割:cscd();本行括号内的输入参数为角度

Demo

猜你喜欢