mathematica解方程组8个方程8个未知数解不出来实数解?请帮忙

Solve[{p1 + p2 + p3 + p4 + p5 + p6 == 1,
p1 + 2 p2 + 3 p3 + 4 p4 + 5 p5 + 6 p6 == 4.5,
a + b == 1 + Log[p1], a + 2 b == 1 + Log[p2],
a + 3 b == 1 + Log[p3], a + 4 b == 1 + Log[p4],
a + 5 b == 1 + Log[p5], a + 6 b == 1 + Log[p6]}, {p1, p2, p3, p4,
p5, p6, a, b}]
{{a -> 1. + 6. Log[p5] - 5. Log[p6], b -> -1. Log[p5] + Log[p6],
p4 -> p5^2.0000000000000000000000000000000/
p6^1.0000000000000000000000000000000,
p3 -> p5^3.0000000000000000000000000000000/
p6^2.0000000000000000000000000000000,
p2 -> 0.5 (7. - 8. p5 - (4. p5^3.0000000000000000000000000000000)/
p6^2.0000000000000000000000000000000 - (
6. p5^2.0000000000000000000000000000000)/
p6^1.0000000000000000000000000000000 - 10. p6),
p1 -> 0.5 (-5. + 6. p5 + (2. p5^3.0000000000000000000000000000000)/
p6^2.0000000000000000000000000000000 + (
4. p5^2.0000000000000000000000000000000)/
p6^1.0000000000000000000000000000000 + 8. p6)}}
不清楚原因

感觉应该是因为没有解析解吧。你把4.5改成9/2,再用Reduce算下这个方程试试。
————
嗯,我的猜想是正确的。你可以看一下Solve的帮助里的“更多信息”:

“Solve 处理的主要是线性和多项式方程. ” “当 expr 涉及到超越条件或整数定义域时,Solve 往往将在结果中引入额外参数.”
对于这类问题果然要靠Reduce。要求数值解的话,你只用在Reduce所得的结果上再做点小处理就行了。追问

谢谢,我试试

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-25
看着太庞大了

mathematica解方程组8个方程8个未知数解不出来实数解?请帮忙
感觉应该是因为没有解析解吧。你把4.5改成9\/2,再用Reduce算下这个方程试试。———嗯,我的猜想是正确的。你可以看一下Solve的帮助里的“更多信息”:“Solve 处理的主要是线性和多项式方程. ” “当 expr 涉及到超越条件或整数定义域时,Solve 往往将在结果中引入额外参数.”对于这类问题果然...

Mathematica 解方程组半天解不出来,有没有看哈原因的,求赐教
6个未知量解9个方程这点本来就是错的,具体可查MaxExtraConditions和Eliminate的帮助。此外Solve的3变量隐藏语法可能也会有帮助,不过LZ还是先把上面两条想办法解决了吧。

mathematica基础——解方程和微分方程(组)
解方程是数学中一项基本技能。在Mathematica中,解决方程变得尤为简单。首先,当您遇到一个未知函数或变量时,只需将它刷蓝并按下"F1",您就能看到相关帮助信息。这使问题变得直观且易于理解。接下来,让我们讨论如何解决方程。方程中的“=”符号等同于函数的评估。所以,将“=”替换为“==”会使方程...

Mathematica 解常微分方程组问题Mathematica 输入:DSol...
格式上的错误是,大括号有一对就可以了,不需要把初始条件和微分方程分割开来.然后,即使改了也是解不了的……要不是这个没有解析解,要不就是mathematica还不会解这个方程的解析解.(mathematica的符号计算不是万能的.)所以,这个只能用NDSolve求数值解,那样要求给出v和a的具体数值,t的定义域,然后,因为...

mathematica 解方程组
代入消元吧,我没想出太好的办法。从第一个式子解出z,代入第二个,解出y,,代入第三个,解出y,令这两个y相等,解出x

mathematica 解微分方程组的问题,谢谢了
首先,是NDSolve而不是NDsolve,Mathematica是区分大小写的。其次……其实你看看警告信息就该明白的——方程过定了,也就是,你给的方程数目过多了(两个未知数你给了三个方程),试着去掉了那个代数方程(也就是第二个方程,不含导数的那个)之后,就可解了。不过积分步长又是早早耗光了,但是好歹...

mathematica 解坐标转换方程组
8.0版的结果如下:

用mathematica软件, 求解三角函数方程组。
(1)因为你根本不会用mathematica软件,当然求不出解了。你的代码就写错了,函数调用的时候是写方括号,不是小括号。(2)其次,当你要求求解一个方程的时候,你应该指定未知数,比如你解一个含有x的方程,那么最终的结果不应该含有x。你既然指定了x,y是未知数,那么最终的解的结果应该是x,y是不含有...

mathematica解方程组,结果还是原式子。
首先你要明白,你是要解方程,还是求方程的根。求方程的根,就是求t1,t2,使得t1,t2带入方程后两边相等。Mathematica中,NSolve一般用来解方程,FindRoot用来求方程的根。数学中确实存在很多方程解不出来的情况,或者说没有求解表达式,但是能用别的方法去求方程的根。你上面给的方程,是多项式和指数...

用wolframalpha求多个实数解
……学会使用Mathematica的列表操作啊.总之这样:sol = NSolve[x^2 + y^2 - 10 - 3*# == 0 && 2 x + y == 2, {x, y}, Reals, 2] & \/@ {2, 3, 4} {x, y} \/. Tuples@sol x + y \/. Tuples@sol

相似回答