[问题] 解方程式后绘图

楼主: bonus1123 (bonus)   2013-04-14 13:45:21
在此先谢过愿意浏览此则问题的版友: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}]}]
作者: LPH66 (-6.2598534e+18f)   2013-04-14 13:48:00
单论循环的话其实一些程式语言里常见的循环结构都有就是 For 跟 While, 用法甚至都差不多 (分隔符号要注意就是)如果只是单纯的跑遍数字的话 Do 也可以派上用场不过你这个问题可能需要一点技巧 因为你每一次的结果是图要把这些图收集起来需要另一些东西帮助比较简单的情形是当你是用 Do 跑遍数字的话
楼主: bonus1123 (bonus)   2013-04-14 13:53:00
对不起喔, 可不可以请问一下, 如果要把每一次求解出来
作者: LPH66 (-6.2598534e+18f)   2013-04-14 13:53:00
改用 Table 可以一次收集这些结果 (像我上上篇推文说的一样)
楼主: bonus1123 (bonus)   2013-04-14 13:54:00
的答案存起来是使用 save 吗?不好意思打断你的话了> < 谢谢:D 先来研究一下上上篇
作者: LPH66 (-6.2598534e+18f)   2013-04-14 13:56:00
我前几行推文用的词是"收集" 毕竟我不清楚你得到这些图后是要怎么使用 如果你是要把每一张图都存成图片档的话其实是有个指令叫 Export 可以拿来做这种事当然如果你是要合并起来一起输出的话可能就得要先收集起来整个合并之后再进行输出
楼主: bonus1123 (bonus)   2013-04-14 14:01:00
应该是合并起来一起输出一张图就好先来试试看将 DO 和 TABLE 合起来用, 非常感谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com