clear;
j=0;
for k=25:0.1:35
g=zpk([],[0,-5,-5],k);
%question 1
gc = feedback(g,1,-1);
[A B C D] =ssdata(gc);
T=0.01;ts=20;
x = zeros(size(A,2),1);
r=1;
for i=1:1:ts/T
x1 = x + T*(A*x + B*r);
y=C*x+D*r;
yy(i)=y;
tt(i)=i*T;
x=x1;
end
%question 2
yinf = yy(end);
if(abs(yinf-1) > 0.1)
continue;
else
ro = (max(yy)-yinf)/yinf*100;
j=j+1;
roj(j)=ro;
kk(j)=k;
end
end
%question 3
[value index] = min(abs(roj-4.3))
k=kk(index);
g=zpk([],[0,-5,-5],k);
%question 1
gc = feedback(g,1,-1);
step(gc)
你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。
您可以点击问题下方的【编辑】,进行补充修改问题。