主题:[讨论]迟后系统离散仿真时间迟后时间问题,请高手相助
clear
k1=2/25; %偏差量化因子
k2=2/75; %偏差变化量化因子
k3=16; %控制器输出量化因子
T=10;
den=[1.25];
num=[120,1];
G=tf(den,num,'iodelay',122)
%step(G);
G1=c2d(G,T) %z变换
r=30; %设定值
y(1:13)=0;
e=-r+y(1); %偏差
de=y(1); %偏差变化
u(1:13)=k3*table(round(e*k1),round(de*k2)); %模糊控制器输出(查表法)
e=-r+y(13);
de=y(13)-y(12);
u(14)=k3*table(round(e*k1),round(de*k2));
y(14)=0.928*y(12)+0.08062*u(1);
e=-r+y(14);
de=y(14)-y(13);
u(15)=k3*table(round(e*k1),round(de*k2));
for i=15:500
y(i)=0.928*y(i-2)+0.08062*u(i-13)+0.01933*u(i-14); %系统输出
e=-r+y(i-1);
de=y(i-13)-y(i-14);
u(i+1)=k3*table(round(e*k1),round(de*k2));
end
i=[1:500];
plot(i,y);
**********************************************************************************
被控系统传函:
1.25
exp(-122*s) * ---------
120 s + 1
z变换后传函:
0.08062 z + 0.01933
z^(-12) * -------------------
z^2 - 0.92 z
Sampling time: 10
理论上系统的迟后时间应为122秒,可是我采用离散化的编程方法后的迟后时间不到50秒,这是为什么?是不是因为MATLAB的STEP TIME的原故,我该怎么修改?
k1=2/25; %偏差量化因子
k2=2/75; %偏差变化量化因子
k3=16; %控制器输出量化因子
T=10;
den=[1.25];
num=[120,1];
G=tf(den,num,'iodelay',122)
%step(G);
G1=c2d(G,T) %z变换
r=30; %设定值
y(1:13)=0;
e=-r+y(1); %偏差
de=y(1); %偏差变化
u(1:13)=k3*table(round(e*k1),round(de*k2)); %模糊控制器输出(查表法)
e=-r+y(13);
de=y(13)-y(12);
u(14)=k3*table(round(e*k1),round(de*k2));
y(14)=0.928*y(12)+0.08062*u(1);
e=-r+y(14);
de=y(14)-y(13);
u(15)=k3*table(round(e*k1),round(de*k2));
for i=15:500
y(i)=0.928*y(i-2)+0.08062*u(i-13)+0.01933*u(i-14); %系统输出
e=-r+y(i-1);
de=y(i-13)-y(i-14);
u(i+1)=k3*table(round(e*k1),round(de*k2));
end
i=[1:500];
plot(i,y);
**********************************************************************************
被控系统传函:
1.25
exp(-122*s) * ---------
120 s + 1
z变换后传函:
0.08062 z + 0.01933
z^(-12) * -------------------
z^2 - 0.92 z
Sampling time: 10
理论上系统的迟后时间应为122秒,可是我采用离散化的编程方法后的迟后时间不到50秒,这是为什么?是不是因为MATLAB的STEP TIME的原故,我该怎么修改?