24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2231  |  回复: 9

jokebright

金虫 (小有名气)

[求助] 用Wofram Mathematica解方程的问题

现学现用这个软件的,还不怎么懂,要求解的方程是,2.56√(x2-2.25)=3.14=arctan √1.25/√(x2-2.25)    我在软件里输入的是Solve[2.56*Sqrt[x^2 - 2.25] == 3.14 + ArcTan[Sqrt (1.25)/Sqrt (x^2 - 2.25)], x]     可是不知道为什么一直在running,不出结果。到底问题出在哪里了?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

soliton923: 回帖置顶 2012-08-09 18:45:36
用下面代码试了下Mathematica,的确一直在running,不知何故?
CODE:
NSolve[2.56*Sqrt[x^2 - 2.25] == 3.14 + ArcTan[Sqrt[1.25]/Sqrt[x^2 - 2.25]], x]

下面是1stOpt求解代码:
CODE:
Function 2.56*Sqrt(x^2 - 2.25) = 3.14 + ArcTan(Sqrt(1.25)/Sqrt(x^2 - 2.25));

x: 2.10677929446051
7楼2012-08-09 15:11:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

soliton923

铁杆木虫 (职业作家)

数学村村长

很正常~~你这个方程可能没有精确解~~所以机器就一直running
soliton;sato-theory;algebre-geometry;Random-Matrices-Theory; Riemann-Hilbert method
2楼2012-08-09 10:07:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jokebright

金虫 (小有名气)

soliton923: mathematica 里面有求数值解的命令 你可以查下书 2012-08-09 10:38:51
引用回帖:
2楼: Originally posted by soliton923 at 2012-08-09 10:07:46
很正常~~你这个方程可能没有精确解~~所以机器就一直running

那可不可以不要精确解,并且把解的范围限制在0到10之间,因为这个方程应该是不止一个解。
3楼2012-08-09 10:10:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
用数值解吧:

x: -2.10677929440833
4楼2012-08-09 11:07:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ccyzrb

金虫 (小有名气)


soliton923: 金币+1, 谢谢参与讨论~~~ 2012-08-09 18:45:23
引用回帖:
3楼: Originally posted by jokebright at 2012-08-09 10:10:32
那可不可以不要精确解,并且把解的范围限制在0到10之间,因为这个方程应该是不止一个解。...

NSolve
5楼2012-08-09 12:48:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jokebright

金虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2012-08-09 11:07:20
用数值解吧:

x: -2.10677929440833

你是怎么写的,我用了NSolve还是一直running,没有正解么?
6楼2012-08-09 14:11:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dk1013

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jokebright: 金币+10, ★★★很有帮助, 你给的这个最好了,不会一直running。 2012-08-10 08:48:56
这个好办,用FindRoot就可以了。
FindRoot[2.56*Sqrt[x^2 - 2.25] ==
  3.14 + ArcTan[Sqrt (1.25)/Sqrt (x^2 - 2.25)], {x, 5}]
记忆中FindRoot使用的是牛顿迭代法,所以对解的大概范围估算很重要。
不同的求解函数,即便都是数值解,背后的算法也是不一样的。
到得还来别无事 庐山烟雨浙江潮
8楼2012-08-09 20:41:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chyanog

金虫 (小有名气)

NSolve[2.56*Sqrt[x^2 - 2.25] ==
   3.14 + ArcTan[Sqrt[1.25]/Sqrt[x^2 - 2.25]], x, Reals] // InputForm
9楼2014-11-01 14:28:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chyanog

金虫 (小有名气)

Mathematica解方程时,尽量把小数化成分数,这样可能会算得更快
Solve[Rationalize[2.56*Sqrt[x^2-2.25]==Pi+ArcTan[Sqrt[5/4]/Sqrt[x^2-2.25]]],x,Reals]
10楼2014-11-18 11:03:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jokebright 的主题更新
信息提示
请填处理意见