怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch函数在matlab中是cosh)

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 22:17:58
怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch函数在matlab中是cosh)
xRn@ X P,ĂTx21m즄j\qC0Q*j!?^?zk!y̙3޼R  ܳ?v}:^`ҥ݆*UU)aOw-fwZȽWӕ LTKr:=s@zfB|I5U6ꫪ$d$SVk^mJr YT5+,vʵ{UhANJ`3ʵ_ZȝdK0[3HL -nD͈Ž P$9d3} ,Dn~0699 ZpRxa!B~<4 IŞPQ1~CksI$utD; b82>pu4­~a7.rY؝o){8\,J#+B/tq+Ghv71EP&LGaZ-f4b.9u

怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch函数在matlab中是cosh)
怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch函数在matlab中是cosh)

怎么在matlab中求解方程1+cosx*chx=0(需要方程前十个x值较小的解,ch函数在matlab中是cosh)
fun=@(x) 1+cos(x).*cosh(x);
xx=(0:9)*pi+pi/2;
z=zeros(size(xx));
for i=1:length(xx)
z(i)=fzero(fun,xx(i));
end
因为cos和cosh都是偶函数,所以它的根正负对称的
这个函数是个超越函数,所以解析解不能用初等函数表示
我们可以重数值解法
因为cos(x)的根是pi/2+n*pi,可以预见函数的根在 pi/2+n*pi附近
以pi/2+n*pi为初始值,寻找附近的根就可以了
得到的z就是10个最靠近0点的正数根近似值,它们的相反数也是根
注意第一个根的误差最小,后面的根的误差会越来越大