在此先謝過願意瀏覽此則問題的版友:D
我正在進行的工作是, 給定參數 lambda 屬於[0,1]後,
求解 10 條方程式的 10 個變數; 再挑出其中兩個變數相減(A-B),
最後畫出(A-B) 和 lambda 的二維圖.
第一部分求解感謝戴老師的幫助, 目前是畫圖有困難 > <
我想請問, MATHEMATICA 是否能使用迴圈呢?
也就是說給定 lambda 的範圍屬於[0,1], 讓 Mathematica 求解對應於 lambda 的
A 和 B 值, 接著使用此結果求算 A-B, 最後再畫 A-B 和 lambda 的圖,
這樣就不需要使用隱函數繪圖了, 不知道這樣是否可行?
初學 mathematica, 因此對於指令仍然十分生疏, 還望各位稍加指點, 謝謝!
以下是我目前有的東西
{\[Sigma], \[Mu], T, \[Lambda]} = {5, 0.4, 2.1, 1}
eqns = {Y1 == \[Mu]*\[Lambda]*w1 + 0.5 (1 - \[Mu]),
Y2 == \[Mu] (1 - \[Lambda]) w2 + 0.5 (1 - \[Mu]),
G1 == (\[Lambda]*
w1^(1 - \[Sigma]) + (1 - \[Lambda]) (w2 T)^(1 - \
\[Sigma]))^(1/(1 - \[Sigma])),
G2 == (\[Lambda] (w1 T)^(1 - \[Sigma]) + (1 - \[Lambda]) w2 ^(1 - \
\[Sigma]))^(1/(1 - \[Sigma])),
w1 == (Y1*G1^(\[Sigma] - 1) +
Y2*G2^(\[Sigma] - 1) T^(1 - \[Sigma]))^(1/\[Sigma]),
w2 == (Y1*G1^(\[Sigma] - 1) T^(1 - \[Sigma]) +
Y2*G2^(\[Sigma] - 1))^(1/\[Sigma]),
\[Omega]1 == w1*G1^(-\[Mu]),
\[Omega]2 == w2*G2^(-\[Mu]),
V1 == \[Mu]^\[Mu] (1 - \[Mu])^(1 - \[Mu]) Y1*G1^(-\[Mu]),
V2 == \[Mu]^\[Mu] (1 - \[Mu])^(1 - \[Mu]) Y2*G2^(-\[Mu])}
vars = {Y1, Y2, G1, G2, w1, w2, \[Omega]1, \[Omega]2, V1, V2}
FindRoot[eqns, Transpose@{vars, RandomReal[{0, 50}, Length@vars]}]
NMinimize[Flatten@{eqns.eqns, Thread[vars > 0]}, vars,
Method -> {"NelderMead",
"InitialPoints" ->
RandomReal[{0, 50}, {Length@vars + 1, Length@vars}]}]