在MATLAB里如何能解出以下这条超越方程所有的根?请各位帮助

[复制链接]
查看11 | 回复2 | 2009-7-7 10:58:12 | 显示全部楼层 |阅读模式
这条超越方程是
a*x-(b*sqrt(1/c*sqrt(d-(c/2-x))))*sqrt(c^2/4-x^2)+2*b*sqrt(d-(c/2+x))/c)*(x/sqrt(c^2/4-x^2)))=0
其中a,b,c,d 是任意实数,而求解区间在[-c/2,d-c/2]之间。我用fplot想找出这条超越方程根的个数及其大致的位置,然后进一步用迭代法确定根的数值;但是每次图只给我找出一个交点,而实际上它与x轴的交点应该有好几个?!我那里错了?如何能在图上画出这条超越方程与x轴的所有交点,并正确求出每个根的数值?

回复

使用道具 举报

千问 | 2009-7-7 10:58:12 | 显示全部楼层
a,b,c,d 是任意实数,其值不确定你怎么画图?而且作为一个常识,a,b,c,d的取值肯定会影响其根的分布啊。所以我觉得只能得出含有a,b,c,d 的数值解(没有解析解哦),至于迭代法,我觉得到是可行,不过这个编程似乎也不是很难就是,关键你要保证迭代过程的收敛哦。...
回复

使用道具 举报

千问 | 2009-7-7 10:58:12 | 显示全部楼层
应该很简单啊,自己编个程序就能搞定啊...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行