matlab作业题2

这篇博客通过MATLAB展示了控制系统的设计与模拟过程,包括串联、反馈和并联系统的构建,单位阶跃响应的分析,以及参数变化对系统响应的影响。内容涵盖了tf、zp2tf、tf2ss等控制系统工具箱函数的应用,并通过实例详细解释了系统稳定性、响应特性的研究方法。
摘要由CSDN通过智能技术生成

clear;clc;
%% 第一种方法
num1=[2];den1=[1];
sys1=tf(num1,den1);
num2=[1 1];den2=[1 2 1];
sys2=tf(num2,den2);
num3=[1];den3=[1];
sys3=tf(num3,den3);
sysg=series(sys1,sys2);
sys=feedback(sysg,sys3)
nums=[2 2];dens=[1 4 3];
[z,p,k]=tf2zp(nums,dens)%%句尾没有;可以将当前输出值打印在command window中。
[A,B,C,D]=tf2ss(nums,dens)clear;clc;
num1=[5];den1=[1];
sys1=tf(num1,den1);
z=[0];p=[-1 -2 -3];k=[1];
[num2,den2]=zp2tf(z,p,k);
sys2=tf(num2,den2);
num3=[1];den3=[1];
sys3=tf(num3,den3);
sysg=series(sys1,sys2);
sys=feedback(sysg,sys3)
num=sys.num{1};
den=sys.den{1};
[A,B,C,D]=tf2ss(num,den)clear;clc;
num1=[2];den1=[1 1];
sys1=tf(num1,den1);
num2=[30];den2=[1 2 1];
sys2=tf(num2,den2);
num3=[1 1];den3=[1 0 0];
sys3=tf(num3,den3);
num4=[1];den4=[1];
sys4=tf(num4,den4);
sysp=parallel(sys2,sys3);
sysg=series(sys1,sysp);
sys=feedback(sysg,sys4)
%% 
s=tf('s');
G1=2/(s+1);
G2=30/(s^2+2*s+1)+(s+1)/s^2;
H=1;
sys=feedback(G1*G2,H)
t=0:0.02:12;
num1=[2];den1=[1 0];sys1=tf(num1,den1);
num2=[2];den2=[1 4];sys2=tf(num2,den2);
num3=[1];den1=[1 0];sys3=tf(num3,den3);
sys4=series(sys1,sys2);
sys5=feedback(sys4,1);
sys6=series(0.75*sys5,sys3);
sys=feedback(sys6,1);
[c,t]=step(sys,t);
plot(t,c)
grid
title('Unit-Step Response C(s)/R(s)')
xlabel('t sec')
ylabel('Output c(t)')

t=0:0.01:5;
k=[0.1 0.3 0.5];

for n=1:length(k)%%length(k)表示k这个向量的长度。用于定义循环结束的次数。
    numg1=[12.5];deng1=[1 1];sysg1=tf(numg1,deng1);
    sysg2=[k(n)];
    numg3=[1];deng3=[1 0];sysg3=tf(numg3,deng3);
    sys1=feedback(sysg1,sysg2);
    sys2=series(sys1,sysg3);
    sys=feedback(sys2,1);
    y(:,n)=step(sys,t);
    figure(1);%%始终在figure(1)这种图片上进行画图
    subplot(length(k),1,n);%将该图片分成3个子图。
    plot(t,y);
grid
title('Unit-Step Response Curve for k=0.1,0.2,0.3,0.4,and 0.5')
xlabel('t/s');
ylabel('c(t)');
title(['k=',num2str(k(n))]);%%将k的当前取值转换为字符形式,用于给title赋值。

end
 

close all;clear all;clc;
a=[1 4 9 36];
b=[0.6 2 4.2 9.6];
t=0:0.1:8;
y=zeros(81,4);
for i=1:4
    num=[a(i)];
    den=[1 b(i) a(i)];
    y(:,i)=step(num,den,t);
end
plot(t,y(:,1),'o',t,y(:,2),'x',t,y(:,3),'-',t,y(:,4),'-.')
grid
title('Unit-Step Response Curves for Four Cases')
xlabel('t Sec')
ylabel('Outputs')
gtext('\zeta=0.3,\omega_n=1')
gtext('\zeta=0.5,\omega_n=2')
gtext('\zeta=0.7,\omega_n=3')
gtext('\zeta=0.8,\omega_n=6')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值