看板 Mathematica 關於我們 聯絡資訊
※ 引述《cuteQcat (cutecat)》之銘言: : 大家好,第一次在這個板上發文,如果問題太愚蠢請大家多多包涵 : 我現在有二條方程式,假設一條解m,另一條解s,s受m影響 : 解m的方程式只受外生參數影響,所以我是先解m再把解出來的m取ceiling後再解s : 原本的指令如下: m = Ceiling[ m01 /. FindRoot[\[Alpha] + m01 == (z^(m01 + 1) - 1)/( z^(m01 + 1) (z - 1)), {m01, 8}]] s = s(Alpha,z,m) 改成這樣你覺得如何? 先定義你的參數 {Alpha,z,..,}={, , ...} 接下來定義 m01[Alpha_]:=m/.FindRoot[你要解的m01方程式] 此時 s[Alpha_]:=你的s函數,裡面有Alpha, z ,m01[Alpha] 最後 Plot [s[Alpha],{Alpha,-10,10},AxesLabel->{"Alpha","s"}] : 其中Alpha和z是外生參數。(另外,s的式子太複雜我就不附上了) : 這樣跑是沒問題的。 : 不過我想看Alpha變動一個範圍會對m和s有何影響,並畫出Alpha變動對s影響的圖形 : 但是把他們寫成一串指令去執行時,跑出來的結果都只有同一個值, : 圖形當然也就出不來,指令如下: : s[\[Alpha]_] := : s /. FindRoot[{m == : Ceiling[m /. : FindRoot[\[Alpha] + m == (z^(m + 1) - 1)/( : z^(m + 1) (z - 1)), {m, 8}]], s ==s(Alpha,z,m) }, {s, 0.2}] : data = Table[{\[Alpha], s[\[Alpha]]}, {\[Alpha], 0.05, 0.95, 0.05}] : Fs01 = ListPlot[{data}, PlotJoined -> True, Frame -> True] : 所以在此很冒昧的想請問前輩們我的指令是哪裡出問題呢? : 謝謝大家。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.122.181 ※ 文章網址: https://www.ptt.cc/bbs/Mathematica/M.1422277344.A.8D9.html