对于复杂的讨厌的方程,Reduce 通常更强大,而且不太可能给你一些你以后会发现在结果中隐藏的假设的东西。请注意,我包括您对 p 和 X 范围的约束,以减少最大数量
我可以帮助它为您生成最简单的解决方案的信息。
In[1]:= Reduce[(-X + (2 X-X^2)/(2 (-1 + X)^2 ((1 + 2 (-1 + p) X - (-1 + p) X^2)/
(-1 + X)^2)^(3/2)))/X == 0 && 0 < X < 1 && 0 < p < 1, {X, p}]
Out[1]= 0<X<1 && p == Root[12 - 47*X + 74*X^2 - 59*X^3 + 24*X^4 - 4*X^5 + (-24 +
108*X - 192*X^2 + 168*X^3 - 72*X^4 + 12*X^5)*#1 + (-48*X + 144*X^2 - 156*X^3 +
72*X^4 - 12*X^5)*#1^2 + (-32*X^2 + 48*X^3 - 24*X^4 + 4*X^5)*#1^3 & , 1]
Root 是一个 Mathematica 函数,表示通常复杂的多项式的根
如果用代数写出实际的根,通常会大得多,但我们
可以通过使用 ToRadicals 来查看结果是否足够易于理解且有用。
通常 Reduce 会使用 && (and) 和 || 返回几个不同的选择。 (或者
让您看到正确使用结果必须了解的细节。看我如何
复制整个 Root[...] 并将其放入 ToRadicals 中。注意 Reduce 如何返回
答案包括有关变量范围的信息。并查看我如何为 Simplify 提供有关 X 的域信息,以使其能够提供最大可能的简化。
In[2]:= Simplify[ToRadicals[Root[12 - 47 X + 74 X^2 - 59 X^3 + 24 X^4 - 4 X^5 +
(-24 + 108 X - 192 X^2 + 168 X^3 - 72 X^4 + 12 X^5) #1 + (-48 X + 144 X^2 -
156 X^3 + 72 X^4 - 12 X^5) #1^2 + (-32 X^2 + 48 X^3 - 24 X^4+ 4 X^5)#1^3&,1]],
0 < X < 1]
Out[2]= (8*X - 24*X^2 + 26*X^3 - 12*X^4 + 2*X^5 + 2^(1/3)*(-((-2 + X)^8*(-1 +
X)^2*X^3))^(1/3))/(2*(-2 + X)^3*X^2)
所以你想要的 z= 0 的答案将是 X 不为零的地方,以避免 0/0 在
你的原始方程,其中 0
有时您可以通过绘制表达式来学习一些东西。如果您尝试绘制最终结果,您可能会得到坐标轴,但没有绘图。也许分母引起了问题。您可以尝试仅绘制分子。你可能会再次得到一个空的情节。也许是您的立方根给出了复杂的值。所以你可以把你的分子放在 Re[] 中并绘制它,然后重复这个但使用 Im[]。这些将让您仅绘制实部和虚部。你这样做是为了试图了解根源可能在哪里。你应该谨慎使用情节,因为有时,特别是对于复杂的讨厌的表达,情节可能会出错或隐藏你想要的信息,但如果小心使用,你通常可以从中学到一些东西。
并且一如既往地非常仔细地测试这个和其他一切,以确保没有犯任何错误。 “在 Mathematica 中输入一些东西,然后取出一些东西”太容易了,以为你有答案,却不知道隐藏了重大错误。