MATLAB实验报告Word文档格式.docx
《MATLAB实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告Word文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
![MATLAB实验报告Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/c7700f29-6c5d-4a04-bded-1eb33852260e/c7700f29-6c5d-4a04-bded-1eb33852260e1.gif)
图5工作空间中仿真结果图形化输出
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为
,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
图6系统结构图
图7示波器输出结果
实验2MATLAB/Simulink在控制系统建模中的应用
1、掌握MATLAB/Simulink在控制系统建模中的应用;
1、给定RLC网络如图所示。
其中,
为输入变量,
为输出变量。
求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设
,
)。
传递函数模型
程序代码如下:
clearall;
%清除工作空间的变量
num=[0,1];
%定义分子多项式
den=[122];
%定义分母多项式
sy_tf=tf(num,den);
%建立传递函数模型
[z,p,k]=tf2zp(num,den)%从传递函数模型获取系统的零极点增益
sy_zpk=zpk(z,p,k);
%建立系统的零极点增益模型
[A,B,C,D]=zp2ss(z,p,k);
%从零极点增益模型获取系统的状态空间模型
sys_ss=ss(A,B,C,D)%建立系统的状态空间模型
step(sy_tf)%求解系统的阶跃响应
gridon;
%添加栅格
程序运行结果
z=Emptymatrix:
0-by-1
p=-1.0000+1.0000i
-1.0000-1.0000i
k=1
a=x1x2
x1-2-1.414
x21.4140
b=u1
x11
x20
c=x1x2
y100.7071
d=u1
y10
Continuous-timemodel.
图1系统的阶跃响应曲线
2、已知某双环调速的电流环系统的结构图如图所示。
试采用Simulink动态结构图求其线性模型。
图2simulink中的系统动态模型
将图2模型存为“Samples_4_14.mdl”文件
在MATLAB命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D)。
[A,B,C,D]=linmod('
Samples_4_14'
);
%提取simulink模型的状态空间模型
输出结果如下
A=1.0e+003*
-0.07810001.7964
0-0.5000000
0.01410-0.500000
00.5000-0.500000
00.1600-0.16000.0250-0.0599
B=0
1
0
C=195.31250000
D=0
在MATLAB命令窗口运行以下命令
[num,den]=ss2tf(A,B,C,D);
%将状态空间模型转换为传递函数模型
pritfsys(num,den,'
s'
%以传递函数模型形式显示出来
输出结果:
num/den=4.5475e-013s^4+5.8208e-011s^3+56137724.5509s^2+32454622005.9881s
+2192879865269.464
-----------------------------------------------------------------------------
s^5+1138.0052s^4+392683.3832s^3+43221369.7605s^2+3506268712.5749s
+157********9.4013
实验3MATLAB/Simulink在时域分析法中的应用
1、掌握时域分析中MATLAB/Simulink函数的应用;
2、掌握MATLAB/Simulink在稳定性分析中的应用。
1、某随动系统的结构如图所示。
利用MATLAB完成如下工作:
(1)对给定的随动系统建立数学模型;
(2)分析系统的稳定性,并且绘制阶跃响应曲线;
(3)计算系统的稳态误差;
(4)大致分析系统的总体性能,并给出理论上的解释。
图1系统的结构图
解:
利用MATLAB求解的基本步骤如下
1.求取系统传递函数
clc;
num1=[20];
den1=[120];
sys1=tf(num1,den1);
%二阶系统的传递函数
num2=[0.10];
den2=[01];
sys2=tf(num2,den2);
%微分环节传递函数
sys_inner=feedback(sys1,sys2);
%内环反馈的传递函数
sys_outer=feedback(sys_inner,1)%外环反馈的传递函数
20
--------------
s^2+4s+20
得到系统的传递函数
2.进行稳定性分析
den=[1420];
roots(den)%求闭环系统特征多项式的根
pzmap(sys_outer);
%利用pzmap命令绘制系统的零极点图
gridon;
ans=
-2.0000+4.0000i
-2.0000-4.0000i
由结果可知,系统特征根都具有负实部,因此闭环系统是稳定的。
系统零极点分布图如图2所示
图2系统零极点分布图
3.求阶跃响应
num=[20];
[y,t,x]=step(num,den)%计算闭环系统的阶跃响应
plot(x,y);
%绘制阶跃响应曲线
如下图3,横坐标表示响应时间,纵坐标表示系统输出
图3系统阶跃响应曲线
图4系统阶跃响应曲线
4.分析系统的响应特性
%计算系统的超调量
y_stable=1;
%阶跃响应的稳态值
max_response=max(y);
%闭环系统阶跃响应的最大值
sigma=(max_response-y_stable)%阶跃响应的超调量
sigma=0.2076
系统稳态误差为0,波形图如下
图5系统误差曲线图
%计算系统的上升时间
fori=1:
length(y)%遍历响应曲线
ify(i)>
y_stable%如果某个时刻系统的输出值大于稳态值
break;
%循环中断
end
end
tr=x(i)%计算此时对应的时间,就是阶跃响应的上升时间
%计算系统的峰值时间
[max_response,index]=max(y);
%查找系统阶跃响应的最大值
tp=x(index)%计算此时对应的时间,就是阶跃响应的峰值时间
%计算系统的调整时间---------》取误差带为2%
ifmax(y(i:
length(y)))<
=1.02*y_stable%如果当前响应值在误差带内
ifmin(y(i:
length(y)))>
=0.98*y_stable
%循环退出
ts=x(i)%计算此时对应的时间,就是阶跃响应的调整时间
tr=0.5245
tp=0.7730
ts=1.8773
即上升时间为0.52秒,峰值时间0.77秒,并且系统在经过1.88秒后进入稳态。
2、已知某二阶系统的传递函数为
,
(1)将自然频率固定为
,分析
变化时系统的单位阶跃响应;
(2)将阻尼比
固定为
,分析自然频率
变化时系统的阶跃响应(
变化范围为0.1~1)。
(1)解:
利用MATLAB建立控制系统的数学模型,并且同时显示
=1,
取不同值时的阶跃响应曲线
clear;
t=linspace(0,20,200);
%设置仿真时间
omega=1;
%设置二阶系统的自然频率
omega2=omega^2;
%计算自然频率的平方
zuni=[0,0.1,0.2,0.5,1,2,3,5];
num=omega2;
fork=1:
8
den=[12*zuni(k)*omegaomega2];
sys=tf(num,den);
y(:
k)=step(sys,t);
figure
(1);
plot(t,y(:
1:
8));
grid;
gtext('
zuni=0'
zuni=0.1'
zuni=0.2'
zuni=0.5'
zuni=1'
zuni=2'
zuni=3'
zuni=5'
图1固定自然频率,阻尼比变化时系统的阶跃响应曲线
结论:
当固定频率后,改变阻尼比,在
<
1不会改变阶跃响应的震荡频率;
而当
>
1时,阶跃响应曲线不再震荡,系统阻尼。
(2)绘制
=0.55,
从0.1变化到1是系统的阶跃响应曲线
%设置仿真时间
zuni=0.55;
%设定阻尼系数
omega=[0.10.20.40.71];
%设定自然频率向量
omega2=omega.*2;
5%循环五次,分别计算在五种不同的自然频率下系统的阶跃响应
num=omega2(k);
den=[12*zuni*omega(k)omega2(k)];
%系统传递函数
%计算当前自然频率下,二阶系统的阶跃响应值
figure
(2);
5));
%在一幅图像上依次绘出上述5条阶跃响应曲线