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
看着太庞大了
相似回答