[問題] 解方程式後繪圖

作者: 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