您可以通過使用Eliminate
來縮短a)和b)。您也可以要求Mathematica通過實數求解方程。 (在V8):
In[538]:= eq =
Eliminate[3/y^4 == 3/x^4 + a/(x + 2 y)^4 && r == y/x, {x, y}]
Out[538]= -24 r - 72 r^2 - 96 r^3 + (-45 + a) r^4 + 24 r^5 + 72 r^6 +
96 r^7 + 48 r^8 == 3
In[539]:= r /. Solve[eq && -1 < a < 1, r, Reals]
Out[539]= {ConditionalExpression[
Root[-3 - 24 #1 - 72 #1^2 - 96 #1^3 + (-45 + a) #1^4 + 24 #1^5 +
72 #1^6 + 96 #1^7 + 48 #1^8 &, 1], -1 < a < 0 ||
0 < a < Root[-184528125 + 267553125 #1 + 11238750 #1^2 +
110250 #1^3 - 225 #1^4 + #1^5 &, 1] ||
Root[-184528125 + 267553125 #1 + 11238750 #1^2 + 110250 #1^3 -
225 #1^4 + #1^5 &, 1] < a < 1],
ConditionalExpression[
Root[-3 - 24 #1 - 72 #1^2 - 96 #1^3 + (-45 + a) #1^4 + 24 #1^5 +
72 #1^6 + 96 #1^7 + 48 #1^8 &, 2], -1 < a < 0 ||
0 < a < Root[-184528125 + 267553125 #1 + 11238750 #1^2 +
110250 #1^3 - 225 #1^4 + #1^5 &, 1] ||
Root[-184528125 + 267553125 #1 + 11238750 #1^2 + 110250 #1^3 -
225 #1^4 + #1^5 &, 1] < a < 1],
ConditionalExpression[
Root[-3 - 24 #1 - 72 #1^2 - 96 #1^3 + (-45 + a) #1^4 + 24 #1^5 +
72 #1^6 + 96 #1^7 + 48 #1^8 &, 3],
0 < a < Root[-184528125 + 267553125 #1 + 11238750 #1^2 +
110250 #1^3 - 225 #1^4 + #1^5 &, 1]],
ConditionalExpression[
Root[-3 - 24 #1 - 72 #1^2 - 96 #1^3 + (-45 + a) #1^4 + 24 #1^5 +
72 #1^6 + 96 #1^7 + 48 #1^8 &, 4],
0 < a < Root[-184528125 + 267553125 #1 + 11238750 #1^2 +
110250 #1^3 - 225 #1^4 + #1^5 &, 1]]}
然後,您可以繪製得到的溶液:
的Out[539]
爲您提供了條件沿着精確的代數解決方案時,他們是真正的。因此最大實數解爲4,當a
介於零和Root[-184528125 + 267553125 #1 + 11238750 #1^2 + 110250 #1^3 - 225 #1^4 + #1^5 &, 1]
之間時
現在,讓我們進入c)部分。您應該使用NSolve
構建所有解決方案。然後,建議Cases
提取真正的解決方案,然後ListPlot
:
Table[Thread[{a,
Cases[r /. NSolve[eq, r], r_ /; Im[r] == 0]}], {a, -1, 1,
0.02}] // ListPlot
@Mr。 (遞歸)哈! – 2011-05-18 05:31:37