這是我第一次在這裏尋求幫助,我希望有人迴應。我希望發佈圖像以顯示我遇到的問題,但我需要至少10名代表才能完成。但我希望每個人都明白我的要求。使用Mathematica Manipulate函數繪製傳遞函數
我正在嘗試創建一個操作框來繪製一個傳遞函數,並在框中輸入類型,以便我可以輸入傳遞函數並指定x和y軸。但情節本身並沒有出現只有軸是
但如果我鍵入代碼「操縱」它的作品。
如果您嘗試在Mathematica上運行此功能,您可能會看到我遇到的問題。
我的mathematica代碼如下。
Manipulate[tfplot,
{{tfplot1, 0, "Transfer Function="}},
Delimiter,
{{fmin1, 10, "fmin = "}},
{{fmax1, 10^7, "fmax = "}},
{{ymin1, 1, "ymin = "}},
{{ymax1, 2*10^2, "ymax = "}},
Delimiter,
Row[{
Button["Plot", tfplot = LogLogPlot[Abs[tfplot2[2*Pi*I*f] /. {tfplot2[s_] -> tfplot1}], {f, fmin1, fmax1}, PlotPoints -> 1000, PlotRange -> {{fmin1, fmax1}, {ymin1, ymax1}}, PlotLabel -> "tf Plot"], ImageSize -> 80]
}]
, ControlPlacement -> {Left, Left, Left, Left, Left, Left, Left, Top}]
tfplot3 = (3.333321894500285`*^6 (4.611679331492357`*^6 - 72057.48955456808` s - 4.138291871540356`*^9 s^3 - 3.889993968666704`*^9 s^4 + s^5))/(s^2 (2.606152799059127`*^18 + 4.6278171788297256`*^16 s + 1.0779994813998577`*^14 s^2 + 1.5235290577558628`*^8 s^3 + s^4))
LogLogPlot[Abs[tfplot4[2*Pi*I*f] /. {tfplot4[s_] -> tfplot3}], {f, 10, 10^7}, PlotPoints -> 1000, PlotRange -> {{10, 10^7}, {1, 2*10^2}}, PlotLabel -> "tf Plot"]
謝謝。
Spiderfiq
你應該拿這個去mathematica.stackexchange.com。有一件事,你沒有(不應該)需要劇情按鈕,如果你做對了,情節會自動更新。 (這就是manputlate的功能..)。儘管你的根本問題在於,將表達式作爲操縱變量鍵入似乎不起作用。 – agentp
謝謝喬治的幫助。 –
也許'SingularValuePlot'和'TransferFunctionModel'更直接? – Rojo