PID 命令的数字答案

Numeric answer for PID command

我使用了 Simulink PD 模型并使用了以下值:

P=100; D=10; N=100

我给出的输入是

 [0;0;0]-[0.05*(10-t);0.04*(10-t);0.03*(10-t)] where t=1:10

我从模拟中获取数值。

我试图在脚本文件中实现相同的功能,但我得到了传递函数格式的答案。我希望答案采用 Simulink 中的数字形式,这是我的 MATLab 代码:

for t = 1:10
T_d = [0;0;0];
T_o = [0.05*(10-t);0.04*(10-t);0.03*(10-t)];
T_e = T_d-T_o;
C = pid(100,0,10,100)

T_u=T_e*C

end

请在这方面帮助我。

您需要使用lsim函数:

t = 1:0.01:10;
T_o = [0.05*(10-t);0.04*(10-t);0.03*(10-t)];
T_d = zeros(size(T_o));
T_e = T_d - T_o;
C = pid(100,0,10,100);
res = zeros(size(T_e));
for k=1:size(T_e,1)
   res(k,:) = lsim(C,T_e(k,:),t);
end
plot(t,res)