matlab 语言 用弦截法任意实数方程求实根
由于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软件函数及符号运算
倒数关系
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