在此先谢过愿意浏览此则问题的版友: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}]}]