matlab实验.docx
《matlab实验.docx》由会员分享,可在线阅读,更多相关《matlab实验.docx(9页珍藏版)》请在冰豆网上搜索。
![matlab实验.docx](https://file1.bdocx.com/fileroot1/2023-1/10/e2110c7c-6d8a-4444-8e2a-bcaefe7d0793/e2110c7c-6d8a-4444-8e2a-bcaefe7d07931.gif)
matlab实验
机械工程控制基础
实验报告
班级11机设一班
学号1116303056
姓名王浩
2013年12月31日
概述:
MATLAB是MathWorks公司的软件产品,是一个高级的数值分析、处理和计算的软件,其强大的矩阵运算能力和完美的图形可视化功能,使得它成为国际控制界应用最广泛的首选计算机工具。
MATLAB具有良好的的可扩展性,其函数大多数为ASCII文件,可以直接进行编辑、修改;其工具箱可以任意增加,任何人可以生成自己的MATLAB工具箱。
因此,很多研究成果被直接做成MATLAB工具箱发表。
SIMULINK是基于模型化图形的动态系统仿真软件,是MATLAB的一个工具箱,它使系统分析进入一个崭新的阶段,它不需要过多地了解数值问题,而是侧重于系统的建模、分析和设计。
其良好的人机界面及周到的帮助功能使得它广为科技界和工程界采用。
因此,本试验将尽可能把MATLAB和SIMULINK工具应用于控制系统的分析和计算中。
试验一:
用MATLAB进行部分分式展开
1、试验目的:
(1)对MATLAB进行初步的了解;
(2)掌握应用MATLAB对高阶函数进行部分分式的展开。
2、试验学时:
2学时
3、试验方法:
MATLAB有一个命令用于求B(S)/A(S)的部分分式展开式。
设S的有理分式为
F(S)=B(S)/A(S)=num/den=(b0Sn+b1Sn-1+…+bn)/(Sn+a1Sn-1+…+an)
式中ai和bi的某些值可能是零。
在MATLAB的行向量中,num和den分别表示F(S)分子和分母的系数,即
num=[b0b1…bn]
den=[1a1…an]
命令
[r,p,q]=residue(num,den)
MATLAB将按下式给出F(S)部分分式展开式中的留数、极点和余项:
有:
r
(1)、r
(2)…r(n)是函数的留数;p
(1)、p
(2)、…p(n)是函数的极点;K(s)是函数的余项。
4、试验内容
(1)试求下列函数的部分分式的展开式,写出程序语句和部分分式的结果
程序语句:
num=[111395226];
den=[110355024];
[r,p,q]=residue(num,den)
结果:
r=
1.0000
2.5000
-3.0000
0.5000
p=
-4.0000
-3.0000
-2.0000
-1.0000
q=
1
(2)试求下列函数的部分分式的展开式,写出程序语句和部分分式的结果
程序语句:
num=[0,1,4,6];
den=[1,3,3,1];
[r,p,q]=residue(num,den)
结果:
r=
1.0000
2.0000
3.0000
p=
-1.0000
-1.0000
-1.0000
q=
[]
试验二:
时域特性的计算机辅助分析
1、试验目的:
(1)对MATLAB进行进一步的了解;
(2)掌握应用MATLAB求解高阶系统的各种时域响应的求法;
(3)掌握系统零极点的求法,从而判断系统的稳定性。
2、试验学时:
2学时
3、试验方法:
(1)impluse(num,den),得到传递函数G(S)=num(S)/den(s)表示的脉冲响应曲线;
(2)impluse(num,den,t),得到传递函数G(S)=num(S)/den(s)表示的脉冲响应曲线,并可指定时间t;
(3)step(num,den),得到以得到传递函数G(S)=num(S)/den(s)表示的脉冲响应曲线;
(4)step(num,den,t),得到以得到传递函数G(S)=num(S)/den(s)表示的脉冲响应曲线,并可指定时间t;
(5)lsim(num,den,u,t)计算连续系统的任意输入响应,得到以得到传递函数G(S)=num(S)/den(s)表示的u输入的响应曲线,并可指定时间t;
(6)roots(den),得到多项式den的根;
(7)pzmap(num,den),得到传递函数G(S)=num(S)/den(s)表示的系统的零极点图,“×”表示极点,“O”表示零点。
4、试验内容
(1)已知某高阶系统的传递函数为
求该系统的单位脉冲响应、单位阶跃响应和单位斜坡响应和单位加速度响应。
分别写出相对应的程序语句,并给出结果:
单位脉冲响应t=[0:
0.01:
20];
num=[111395226];
den=[11584223309240100];
impulse(num,den,t)
单位阶跃响应t=[0:
0.01:
20];
u=t;
num=[111395226];
den=[11584223309240100];
lsim(num,den,u,t)
单位斜坡响应t=[0:
0.01:
20];
u=1/2*t.^2;
num=[111395226];
den=[11584223309240100];
lsim(num,den,u,t)
单位加速度响应t=[0:
0.01:
20];
num=[111395226];
den=[11584223309240100];
step(num,den,t)
(2)已知某高阶系统的传递函数为
试求该系统的极点并判断系统的稳定性,写出程序语句并给出结果。
程序语句:
den=[1,2,3,4,5,6,7,8,9];
roots(den)
结果:
ans=
-1.2888+0.4477i
-1.2888-0.4477i
-0.7244+1.1370i
-0.7244-1.1370i
0.1364+1.3050i
0.1364-1.3050i
0.8767+0.8814i
0.8767-0.8814i
故系统不稳定
(3)已知某高阶系统的传递函数为
试求该系统的零极点并判断系统的稳定性,绘制系统的零极点图,写出程序语句并给出结果。
程序语句:
num=[312000,6250000];
den=[1,100,8000,440000,6240000];
pzmap(num,den)
结果:
系统稳定
试验三:
频域特性的计算机辅助分析
1、试验目的:
(1)对MATLAB进行加深了解;
(2)掌握应用MATLAB求解系统的Nyquist图;
(3)掌握应用MATLAB求解系统的Bode图;
2、试验学时:
2学时
3、试验方法:
(1)nyquist(num,den,w),绘制Nyquist图。
num和den分别表示传递函数的分子和分母中中包含以S的降幂排列的多项式系数。
命令Nyquist(num,den,w)可以按指定的频率点W,绘制系统的Nyquist图。
(2)bode(num,den,w),绘制Bode图。
num和den分别表示传递函数的分子和分母中中包含以S的降幂排列的多项式系数。
命令bode(num,den,w)可以按指定的频率点W,绘制系统的bode图。
4、试验内容
(1)考虑下列系统开环传递函数
试利用MATLAB画出Nyquist图,并写出程序语句
程序语句
t=[0:
0.01:
20];
num=[1];
den=[10.81];
Nyquist(num,den)
结果
(2)系统开环传递函数为
试绘制系统的Bode图,并写出程序语句。
程序语句
t=[0:
0.01:
20];
num=[25];
den=[1425];
Bode(num,den)
结果