1
給定一個函數(稱爲sys(s)),我們可以使用matlab:rlocus(sys)
來繪製該函數的根軌跡。 (s)=(2s + 2 + b)/ s,我如何使用matlab繪製rlocus(sys)作爲參數b的函數?matlab,如何繪製「根軌跡」
給定一個函數(稱爲sys(s)),我們可以使用matlab:rlocus(sys)
來繪製該函數的根軌跡。 (s)=(2s + 2 + b)/ s,我如何使用matlab繪製rlocus(sys)作爲參數b的函數?matlab,如何繪製「根軌跡」
比方說,與1
b = 1:100;
我們需要創建軸和追究他們,這樣我們就可以在彼此頂部繪製根軌跡間隔1和100之間b
變化。
axes();
hold('on');
現在,我們需要爲每個b
的傳遞函數並繪製其根軌跡。
for idx = 1:length(b)
sys = tf([2 2+b(idx)], [1 0]);
rlocus(sys);
end
這是導致情節:
我無法找到一個量化的解決方案,因此它需要相當長的時間。這在我的電腦上花了45秒。如果你需要計算許多值,你將需要一個矢量化的解決方案。
要添加一個傳奇,你需要創建一個單元陣列來存儲b
值。
legendStr = cell(1, length(b));
然後,裏面的for循環需要b
值轉換爲字符串,並將其存儲在legendStr
。
legendStr{idx} = num2str(b(idx));
在for循環後,將圖例添加到圖中。
legend(legendStr)
非常感謝您的幫助。我也想知道,我該如何在圖表上指出哪種顏色對應於哪個b值? – user3222184
@ user3222184我添加了關於添加圖例的信息。希望能幫助到你。 – HebeleHododo