Function 'subindex' is not defined for values of class 'ss' of 'zpk'

5 ビュー (過去 30 日間)
Barkat
Barkat 2017 年 10 月 26 日
編集済み: Walter Roberson 2017 年 10 月 26 日
Dear All
I am following MATLAB tutorial in Mathworks "Designing PID for Disturbance Rejection with PID Tuner" While following this tutorial, I got the following error in the picture. and another error is
"Function 'subsindex' is not defined for values of class 'zpk'."
The errors occurred after the following commands
G = zpk(-5,[-1 -2 -3 -4],6,'OutputDelay',1);
G.InputName = 'u';
G.OutputName = 'y';
C = pid(0.64362,0.30314);
C.InputName = 'e';
C.OutputName = 'u';
b = 0.7;
% The following code constructs an ISA-PID from F and C
F = tf([b*C.Kp C.Ki],[C.Kp C.Ki]);
F.InputName = 'r';
F.OutputName = 'uf';
Sum = sumblk('e','uf','y','+-');
ISAPID = connect(C,F,Sum,{'r','y'},'u');
tf(ISAPID)
% Closed-loop system with PI controller for reference tracking
sys1 = feedback(G*C,1);
% Closed-loop system with ISA-PID controller
sys2 = connect(ISAPID,G,{'r','u'},'y');
% Compare responses
step(sys1,'r-',sys2(1),'b.');
legend('show','location','southeast')
title('Reference Tracking')
Can anyone guide me how to remove these errors ?
Thank you

採用された回答

Steven Lord
Steven Lord 2017 年 10 月 26 日
If you run these lines of code one by one, on which line does the error occur?
My suspicion is that you have created a variable named connect if the error occurs on the line of code where you're trying to call the connect function.
  1 件のコメント
Barkat
Barkat 2017 年 10 月 26 日
Thank you, Sir, The response is now correct and the codes are working.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePID Controller Tuning についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by