数学建模社区-数学中国

标题: 求解释,一个一元方程的求解 [打印本页]

作者: 秋风@    时间: 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
6 ?6 @. y) _* EFindRoot[x^0.229 + 3.59 x - 0.754 == 0, {x, 1}]

8 n  U: t6 z5 W) M4 x0 k# o嗯嗯  是可以求解  但是怎么去理解这样的问题呢?谢谢啦
作者: sycxyc    时间: 2012-6-3 01:36
本帖最后由 sycxyc 于 2012-6-3 01:49 编辑 * o& q! l1 J8 z  @4 K4 }% ]. s
9 ?% [5 v9 |8 b; E8 a
Solve 和 NSolve 都是利用 Root 求出方程的所有解,否则将会报错
0 |+ [  u8 f7 i* I当方程很复杂是难以求出所有解的,7 ~# S6 V  @3 v9 k
像^0.229=229/1000,在Root中将要转换成1000次的方程,然后求其中的第一个解- Z6 i& s( _4 h$ b5 N
你可以试着计算 Solve[x^(22/100) + 359/100 x - 377/500 == 0, x] ,其中22/100=11/50=0.22,Solve将其转换成了50次的方程,1000次方程转换的复杂程度不是以倍计算,而是以次方计算,这种算法复杂并且没有针对性。0 ?! N& i5 l2 s0 `, D$ T' z$ ^2 o
如果精度要求不高可以先画图确定需要解的大概位置,然后用 FindRoot 搜索近似解
作者: qq11942506    时间: 2012-7-7 10:48
学习了!!!!
作者: zhb    时间: 2012-7-10 08:35
学习了。。。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5