matlab中用series函式計算兩個傳遞函式的串聯形式

2021-04-19 19:40:30 字數 2895 閱讀 6470

1樓:以你之姓

解決方bai法以及步驟:

1、首du先,啟動使用的zhimatlab軟體,如圖:

2、根dao據簡介中的系統專,用**來表示屬各環的傳遞函式,如圖:

3、傳遞函式的求解由內到外,先求解內環的傳遞函式,如圖所示:

4、外環的傳遞函式,如圖所示:

5、根據求得的傳遞函式,利用roots函式判斷系統的穩定性,如圖所示:

6、繪製系統的零極點圖,如圖所示:

7、基於傳遞函式的階躍訊號的響應曲線,如圖所示:

2樓:淡定的先知

t=0:0.1:20;

for a=0:0.5:2;

num1=5;

den1=[1 2 0];

num2=[a 1];

den2=1;

sys1 = tf(num1,den1);

sys2 = tf(num2,den2);

sys = feedback(sys1,sys2,-1);

step(sys,t);

hold on

end這是修改後的程bai序,feedback函式的基du本用法為sys = feedback(sys1,sys2,-1)其中sys,sys1,sys2分別zhi為3個系統,你給出了dao傳遞系統的分專子分母系數,必須先屬用tf函式

將其轉化為系統,feedback函式才能識別,同樣結果也只能以系統形式輸出

其他函式同理

matlab中傳遞函式的串聯,求解

3樓:匿名使用者

tfdata運算bai結果的數du據型別是元胞zhi陣列

試試dao這個代回碼

num1=[1,1];

den1=[1,9];

sys1=tf(num1,den1);

num2=[1,2];

den2=[1,9];

sys2=tf(num2,den2);

sys=series(sys1,sys2);

[num,den]=tfdata(sys)disp('傳遞函答數');

celldisp(num)

celldisp(den)

如有兩個傳遞函式 如何求其相加、相乘、反饋,寫出在matlab中求出命令。

4樓:天才的土地

你們老師大概是讓你們熟悉matlab自控方面的幾個函式:

feedback ,也就是反饋, m = feedback(m1,m2,+1)

series:串聯,也可以說成相乘

parallel:並聯,也可以說成相加

詳細解釋請參照matlab的help指令

急求!怎樣用matlab輸入一個傳遞函式

5樓:胖美美

1、將輸入輸出資料儲存存到matlab的工作空間中;

2、在matlab主介面的左下角,選擇出系統辨識工具箱,具體操作如下圖;

3、下圖是我們開啟的系統辨識工具箱。

4、載入資料,如圖,選中要載入資料的型別。

5、會跳出一個資料配置介面,在相應的位置填入輸入輸出資料的名字(在工作空間中的變數名);

值得一提的是這裡需要配置相關取樣週期,這需要根據輸入輸出的取樣時間而定,本實驗中採用的是0.01s。

6、下面是我們載入資料後的效果。

7、系統辨識,如圖中的操作,用於選擇我們要辨識的系統模型的基本結構,這裡選擇一個基於過程的傳遞函式模型。

8、根據自己的實際情況對模型的基本情況進行設定,如圖所示。

9、設定完成後,單擊確定後,就會在右側的欄中出現一個圖形,這就**我們辨識後的影象;

用滑鼠左鍵將擺影象拖拽到圖中箭頭所指的位置。

10、檢視結果,拖拽後,我們再回到matlab主介面的工作空間中就會看到我們的模型的基本引數。

6樓:

以g(s)=10/s(s+1)(s^2/4+1)為例

這種傳遞函式是零極點描述形式,因而要使用sys=zpk(z,p,k)的命令形式

其中,z為傳遞函式的零點向量[z1,z2,z3,...],描述形式為(s-z1)(s-z2)...

p為傳遞函式的極點向量,k為增益,因而在該例中,應首先化為標準形式,即

g(s)=40/s(s+1)(s+2i)(s-2i),於是有(在命令列輸入)

k=40;z=;p=[0 -1 -2i 2i];

sys=zpk(z,p,k);就得到了傳遞函式,希望對你有所幫助。

matlab 用zpk算出的傳遞函式,如何將其分子與分母分開輸入到gui的兩個text中

7樓:匿名使用者

要使用來ilaplace求逆變換,應該先獲得傳遞函源數的分子分母系數,然後轉換為符號表示式,再呼叫ilaplace。參考**如下:

12345678910

>> g = tf([1 2],[2 3 4]);>> [n,d]=tfdata(g,'v')n = 0 1 2 d = 2 3 4>> ilaplace(poly2sym(n,'s')/poly2sym(d,'s')) ans = 5/46*exp(-3/4*t)*23^(1/2)*sin(1/4*23^(1/2)*t)+1/2*exp(-3/4*t)*cos(1/4*23^(1/2)*t)

上面的**只是一個簡單的示範,可以解決樓主目前問的問題。但需要注意,有很多限制條件:

(1)由於高次代數方程沒有一般的求根公式,所以上述方法原則上不適用於高階系統(原理性限制,無解,可採取其它做法,下詳);

(2)就一般情形而言,傳遞函式g可以是矩陣,上面的**未考慮(需要的話可以自行改進);

(3)傳遞函式可能包含純延遲環節,上面也未作處理(需要的話可以自行改進)。

matlab中用diff函式求得的微分怎麼帶入具體值

用 subs 比如 subs diff x 2 10 這個問題有很多方法,上面說的是一種方法,還可以用 eval 來計算符號表達 內式的值如 容 s diff x x s x x x 1 x x log x x 2 eval s ans 6.7726 matlab中,一個函式有多個自變數,怎麼分別求...

如何用matlab計算正態分佈概率分佈函式的積分

具體抄操作步驟如下 1 首先,襲提出問題,然後使用baimatlab計算下圖du中的積分問 zhi題,如下圖所示,dao然後進入下一步。2 其次,完成上述步驟後,開啟matlab軟體,並按照以下 清除工作區,如下圖所示,然後進入下一步。3 接著,完成上述步驟後,在matlab中定義符號變數並定義函式...

matlab中用定義的函式為什麼不能求導

首先,求導屬於bai符號運算,對於du一般的數值型的變zhi量是不能進行求導的 dao。其次,用 內 定義的匿名函式只是容一個函式控制代碼,必需對其進行呼叫才能真正使得函式生效。其實,也並非用 定義的函式就不能求導,重要的是滿足上面的兩點 要呼叫函式,而且得到的結果是符號表示式,例如 syms y ...