数学建模社区-数学中国
标题:
求解释,一个一元方程的求解
[打印本页]
作者:
秋风@
时间:
2012-5-29 22:03
标题:
求解释,一个一元方程的求解
昨天在用mathematica软件求解一个一元方程,却发现计算机无法求解,方程很简单:x^0.229+3.59x-0.754==0,用Solve求解时发现计算机一直“正在计算”,不得不放弃计算,后面我想,是不是这个软件是不是只能解整数方程,这个方程的次数相出现了0.229,但是我后面随便改成0.2或者0.3都有解,就是0.229次就没法求,故在这里发帖求助,希望高手解答,不胜感激!!!
作者:
sycxyc
时间:
2012-6-1 22:05
FindRoot[x^0.229 + 3.59 x - 0.754 == 0, {x, 1}]
作者:
秋风@
时间:
2012-6-2 23:38
sycxyc 发表于 2012-6-1 22:05
* ` A+ p) n4 T7 ~# Y
FindRoot[x^0.229 + 3.59 x - 0.754 == 0, {x, 1}]
Q. R& n# ~# k/ M# V" k) z
嗯嗯 是可以求解 但是怎么去理解这样的问题呢?谢谢啦
作者:
sycxyc
时间:
2012-6-3 01:36
本帖最后由 sycxyc 于 2012-6-3 01:49 编辑
. X% d; b. f0 @" F
- p. P7 j5 g% z- j% A9 h
Solve 和 NSolve 都是利用 Root 求出方程的所有解,否则将会报错
3 {* T0 n5 U3 B+ \' Q! V
当方程很复杂是难以求出所有解的,
: G2 t* w% Y! j' u; n$ b
像^0.229=229/1000,在Root中将要转换成1000次的方程,然后求其中的第一个解
. Z: t" W; k; k% A( k5 m
你可以试着计算 Solve[x^(22/100) + 359/100 x - 377/500 == 0, x] ,其中22/100=11/50=0.22,Solve将其转换成了50次的方程,1000次方程转换的复杂程度不是以倍计算,而是以次方计算,这种算法复杂并且没有针对性。
9 x% C' G+ \, s
如果精度要求不高可以先画图确定需要解的大概位置,然后用 FindRoot 搜索近似解
作者:
qq11942506
时间:
2012-7-7 10:48
学习了!!!!
作者:
zhb
时间:
2012-7-10 08:35
学习了。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5