早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用matlab求解超越方程我的方程是-0.17*cos(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.163*sin(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.119*sqrt(a)*sin(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.104*sqrt(a)*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))-(0.06*cos(5.6*sqrt(a))*sin(0

题目详情
用matlab求解超越方程
我的方程是-0.17*cos(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.163*sin(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.119*sqrt(a)*sin(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.104*sqrt(a)*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))-(0.06*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a))*cos(0.47*sqrt(a)))/sqrt(a)=0
这个方程有好多解,但是我编不来程序,编的程序就只有一个解,这个问题已经困扰了好久了~
▼优质解答
答案和解析
这是有无穷个解的.如果你想要解的通项公式的话计算机是做不到的.不知道楼主要方程在什么范围内的解.楼主可以设方程左边的式子是关于a的函数,然后做出函数在楼主需要的范围内的图像,从图像观察函数零点的大概位置xa,然后使用fzero(f,xa),做函数图像 的程序如下
clear
f=@(a) -0.17*cos(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.163*sin(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.119*sqrt(a)*sin(5.6*sqrt(a))*cos(0.47*sqrt(a))+0.104*sqrt(a)*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))-(0.06*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a))*cos(0.47*sqrt(a)))/sqrt(a);
a=linspace(1,10);
fplot(f,[1,200])