prince12th 发表于 2012-8-27 17:00

请教一个解方程组的问题

用solve语句解这样一个方程组
(x1 - a1)^2 == b^2*(3*x1^6 + 6*x1^2*x2^4)
(x2 - a2)^2 == b^2*(3*x2^6 + 6*x2^2*x1^4)
a1,a2已知,b是0.00171053

当设a1,a2都为1时,结果出来的是
{{{x1 -> 1373.46, x2 -> 13.4299},
{x1 -> 10987.7,    x2 -> 15.3663},
{x1 -> 1.05482*10^6,   x2 -> 17.8499},
{x1 -> 2.81284*10^6, x2 -> 17.8426}}}

x1,x2不是应该对称的么,而且把结果代回原来的式子里也不正确,为什么呢?

sycxyc 发表于 2012-8-27 18:39

有小数点的计算精度是有限的,并且高次方程没有精确解,如果一开始b的值就是以小数的形式,则中间的计算过程误差会越来越大,你需要将0.00171053化成分数的形式
Rationalize
页: [1]
查看完整版本: 请教一个解方程组的问题