Solve发现错误的解决方案?

时间:2014-07-02 17:09:53

标签: matlab solver symbolic-math equation-solving

我在x和y中有这个等式:

  (x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)) = 0.

现在我打电话给求解器:

  R_c = @(y)solve((x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)), x, 'Real', true);

它给出了作为y函数的隐式解。现在试试

  R_c(.3)

在y = 0.3处找到显式解。 MATLAB的答案是:

 ans =

 0.42846617518653978966562924618638
 0.15249587894102346284238111155954
 0.12068186494007759990714181154349

但是,此数组中的最后一个条目不是解决方案。测试:

 double(subs(subs((x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)), x, .12068186494007759990714181154349), y, .3))

产量

 -0.0585.

这不是舍入错误。其他2个解决方案完美地工作并正确地解决方程。我想知道第三个值来自MATLAB的地方。有人可以帮忙吗?

0 个答案:

没有答案