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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 08:44:58

怎么在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点的正数根近似值,它们的相反数也是根
注意第一个根的误差最小,后面的根的误差会越来越大