Plotting the root locus of a transfer function for a range of a constant contained within the transfer function
4 ビュー (過去 30 日間)
古いコメントを表示
Hi, I am trying to work out how to plot the root locus of the closed loop poles for 0<B<infinity. The transfer function is:
(8s+8B)/(s^3+3s+4s+8B)
any help would be appreciated!
0 件のコメント
回答 (1 件)
Mircea Susca
2018 年 9 月 17 日
編集済み: Mircea Susca
2018 年 9 月 17 日
Hello,
You can't factorise the transfer function to directly use the rlocus function in MATLAB.
On the other hand, you have to keep in mind that you just need the roots of the denominator for different values of B. In this case, you can call the roots function in a for loop and keep the results in a scatter plot as in:
B_vec = logspace(-1,3); % generate 50 log-spaced values between 10^(-1) and 10^3
for i=1:length(B_vec)
B = B_vec(i);
r = roots([1,3,4,8*B]); % build denominator polynomial with current B
scatter(real(r),imag(r),'x'); hold on
end
You can also add the zeros of the transfer function if necessary. Hope this helps.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Classical Control Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!