声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1307|回复: 7

[综合讨论] 解方程问题

[复制链接]
发表于 2009-8-2 11:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位高手,像下面这样的方程应该从何下手呢?
cot(x)=a/x+x/a;
其中a是可测的量,但是在此方程中以符号的形式表示;x是变量。MATLAB中采用fzero,roots等命令好像不行,我曾尝试用数值的方法求解,可是a是一个符号,不好处理。那么该如何处理呢?

[ 本帖最后由 yangyang_722 于 2009-8-2 21:06 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-8-2 14:58 | 显示全部楼层
ctan是什么函数呢? atan或cot? 余切函数不是cot吗?

solve('ctan(x)=a/x+x/a','x')
??? Error using ==> solve
Unable to find closed form solution.
待高人路过

[ 本帖最后由 ChaChing 于 2009-8-2 15:08 编辑 ]
发表于 2009-8-2 21:29 | 显示全部楼层

回复 沙发 ChaChing 的帖子

为什么不是
solve('cot(x)=a/x+x/a','x')?
发表于 2009-8-2 21:40 | 显示全部楼层

回复 板凳 波波球 的帖子

阁下没试吗!? 也是一样的:@)

刚才发现楼主在我2F指正后, 已将原有的ctan编辑成cot! 难怪楼上的会有这样疑问!
再次呼吁使用编辑一定是个好习惯, 但若已被回帖, 编辑会造成误解则请勿使用!

[ 本帖最后由 ChaChing 于 2010-1-3 14:25 编辑 ]
发表于 2009-8-4 12:14 | 显示全部楼层

回复 地板 ChaChing 的帖子

不好意思,在同学本子上上的,没有Matlab...
发表于 2009-8-5 14:54 | 显示全部楼层
lz其实是求x关于a的表达式,对于此方程,应该没有解析解。试试
a=2;
fsolve(@(x)cot(x)-a/x-x/a,10)

评分

1

查看全部评分

 楼主| 发表于 2009-8-26 22:56 | 显示全部楼层

Matlab求解超越方程

用下面的语句可以画出方程的图,如附件。
syms x; f=cot(x)-(0.5/x+x/0.5)/2; ezplot(f)
可以看出此方程式有解,但输入  solve('cot(x)-(0.5/x+x/0.5)/2=0','x') 得到的结果却是
ans =
0.
这是为什么呢。Fzero可以获得解,但是需要分别给出不同的区间,不利于后续计算。怎样能同时得到这些解,最好是以a=[a(1),a(2),a(3),a(4)……]的形式,或者是含k*pi形式的

另外,如图所示,x的取值范围只是2*pi到-2*pi范围的,怎么才能取到负无穷到正无穷的啊


[ 本帖最后由 ChaChing 于 2010-1-3 14:14 编辑 ]
clip_image002.gif
发表于 2010-1-3 15:01 | 显示全部楼层

回复 7楼 yangyang_722 的帖子

1.刚才试下, 版本v5.3的确如LZ所说ans=0
   但使用r2009a版本, 不管是 solve('cot(x)-(0.5/x+x/0.5)/2=0','x') 或solve('cot(x)-(0.5/x+x/0.5)/2','x') 都可以解出
   ans = -3.4203854894568732243866513329247 !!
2.画图范围可使用ezplot(fun,[min,max])调整! 但应该不可能负无穷到正无穷!
3.要得到这些解, 或许可试试6F的方式再加上一个for回圈!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 06:41 , Processed in 0.098213 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表