中国地质大学江城学院
《自动控制原理》仿真实验报告
姓 名 吴丽芳
班 级 数控(2)班
学 号 2520110228
指导教师 祁 锋
20##年12月9 日
目 录
实验一 MATLAB软件的安装与认知
实验二 使用软件进行数值运算和绘图
实验三 采用SIMULINK仿真模块进行系统性能分析
实验一 MATLAB软件的认识
一、实验目的
MATLAB软件是具有数值分析、矩阵运算、复杂的信息处理和完美的图形显示等多种功能的软件包,它具有许多专门用途的工具箱,进一步扩展了MATLAB的应用领域,使其在自动控制系统的分析和设计方面获得广泛的应用。
1、熟悉启动和退出MATLAB软件的方法;
2、熟悉MATLAB软件的运行环境;
3、熟悉MATLAB软件的基本操作;
4、掌握建立矩阵的方法;
5、掌握熟悉MATLAB软件各种表达式的书写规则以及常用函数的使用;
6、能够进行基本的数组、矩阵运算。
二、实验内容
熟悉MATLAB软件的各个工具箱、指令及常用工具,掌握数值的表示方法、运算符的使用规则及运算表达式的写法。
三、分析讨论题
1、MATLAB软件有哪些常用指令?有哪些专用工具箱?
help elfun %列出所有基本函数。
lookfor image 查找有关图像的函数和命令。
几个常用的通用命令。
quit 关闭MATLAB
exit 关闭MATLAB
clc 清除MATLAB命令窗口中的所有显示内容
clear 清除工作空间中保存的所有变量
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
Wavele Toolbox——小波工具箱
2、用举例的方法说明数值的表示方法是怎样的?
MATLAB的数值采用十进制,可以带小数点或负号。以下表示都合法
0 -100 0.0008 12.752 1.8e-6 8.2e52
3、变量命名的规定。
MATLAB变量命名的规则是:
①以字母开头,后面可以跟字母、数字或下划线。
②不超过31个字符。
③字符间不可以留空格。
④区分大小写。
实验二 使用软件进行数值运算和绘图
一、实验目的
1. 掌握熟悉MATLAB软件各种表达式的书写规则以及常用函数的使用;
2. 能够进行基本的数组、矩阵运算;
3. 应用MATLAB软件绘制二维图线。
二、实验内容
掌握应用MATLAB软件进行数值运算的方法并能绘制二维图线。
三、实验步骤及运算结果
1. 应用MATLAB软件求的运算过程及结果。
>> [12+2*(7-4)]/3^2
ans =
2
2. 求下列表达式的值,并写出运算过程及结果。
,,其中
>> z1=2*sind(85)/(1+exp(2))
z1 =
0.2375
>> x=[2 1+2i;-0.45 5]
x =
2.0000 1.0000 + 2.0000i
-0.4500 5.0000
>> z2=log(1+sqrt(1+x^2))/2
z2 =
0.5738 - 0.0333i 0.7952 + 0.2117i
0.2869 + 0.4861i 0.9005 - 0.0073i
3. 绘制二个周期内的正弦、余弦曲线,时间取样间隔为0.1,取样长度为。写出运行指令及显示绘图结果。
>> x=0:0.1:4*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,x,y2)
>>
实验三 采用SIMULINK仿真模块进行系统性能分析
一、实验目的
1.掌握应用MATLAB软件进行传递函数的变换;
2.掌握应用MATLAB软件求取输出量对时间的响应;
3、能够采用SIMULINK仿真模块建立系统模型并进行系统仿真;
4、掌握采用SIMULINK仿真模块进行系统性能分析的方法。
二、实验内容
通过实例练习掌握MATLAB软件在自动控制系统中的应用及性能分析方法,重点是能够采用SIMULINK仿真模块建立系统模型并进行系统仿真分析。
三、系统仿真及性能分析
1、计算并绘制下列传递函数的阶跃响应(至)
>> num=10;den=[1,2,10];
>> t=[0:0.1:10];y=step(num,den,t);
>> plot(t,y)
>>
2、采用SIMULINK仿真模块对下列系统建立模型,并进行系统仿真分析(求其单位阶跃响应曲线)。绘制系统仿真模型及仿真输出结果显示。
第二篇:自动控制原理实验报告一
自动控制原理实验报告一
控制系统的数学模型
姓名:金伟 李峥
2.1 基于MATLAB/Simulink建立控制系统的数学模型
1. 实验目的
1)熟悉MATLAB实验环境,掌握MATLAB命令窗口的基本操作
2)掌握MATLAB建立控制系统数学模型的命令及模型相互转换的方法
3)学会使用Simulink模型结构图化简复杂控制系统模型的方法
2.实验内容
1)控制系统模型的建立
【范例2-1】 已知系统传递函数G(s)=
【解】 MATLAB程序为
>> num=[0,1,3]
>> den=[1,2,2,1]
>> printsys(num,den)
s + 3
num/den = ---------------------
s^3 + 2 s^2 + 2 s + 1
【范例2-2】 已知系统传递函数G(s)=
【解】 MATLAB程序为
方法:借助多项式乘法函数conv()来处理
>> num=5*conv(conv([1,2],[1,2]),[1,6,7])
>>den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,0,2,1]))))
>> Gs=tf(num,den)
Transfer function:
5 s^4 + 50 s^3 + 175 s^2 + 260 s + 140
-----------------------------------------------
s^7 + 3 s^6 + 5 s^5 + 8 s^4 + 9 s^3 + 5 s^2 + s
【自我实践2-1】 建立控制系统的传递函数模型:
1) G(s)=
2) G(s)=
【解】 1)MATLAB程序为:
>> num=5
>> den=conv([1,0],conv([1,1],[1,4,4]))
>> Gs=tf(num,den)
5
Transfer function: -------------------------
s^4 + 5 s^3 + 8 s^2 + 4 s
2)MATLAB程序为:
>> num=[1,4,2]
>> den=conv([1,0,0,0],conv([1,0,4],[1,4,0]))
>> Gs=tf(num,den)
s^2 + 4 s + 2
Transfer function: ----------------------------
s^7 + 4 s^6 + 4 s^5 + 16
【范例2-2】 已知系统传递函数G(s)=试建立控制系统的零极点模型
【解】MATLAB程序为:
>> k=10
>> z=[-5]
>> p=[-0.5,-2,-3]
>> sys=zpk(z,p,k)
Zero/pole/gain:
10 (s+5)
-------------------
(s+0.5) (s+2) (s+3)
【自我实践2-2】 建立控制系统的零极点模型
1) G(s)=
2) G(s)=
【解】 1)MATLAB程序为:
>> k=[8]
>> z=[j-1,-j-1]
>> p=[0,0,-5,-6,-j,j]
>> sys=zpk(z,p,k)
Zero/pole/gain:
8 (s^2 + 2s + 2)
-------------------------
s^2 (s+5) (s+6) (s^2 + 1)
2)MATLAB程序为:
>> roots([1,1,0,1])
ans =
-1.4656
0.2328 + 0.7926i
0.2328 - 0.7926i
>> k=[1]
>> z=[ ]
>> p=[0,-1,-1.4656,0.2328+0.7926j,0.2328-0.7926j]
>> sys=zpk(z,p,k)
Zero/pole/gain:
1
------------------------------------------
s (s+1) (s+1.466) (s^2 - 0.4656s + 0.6824)
Tips:控制系统模型间的相互转换
[num,den]=zp2tf(z,p,k) 0极点模型 多项式模型
[z,p,k]=zp2tf(num,den) 多项式模型 0极点模型
[r,p,k]=residue(num,den) 多项式模型 部分分式展开[num,den]=residue(r,p,k) 部分分式展开式 多项式模型
【范例2-3】 将系统G(s)=转化为部分分式展开式
【解】 MATLAB程序为:
>> num=[1,5,6];den=[1,2,1,0]
>> [r,p,k]=residue(num,den)
r =
-5
-2
6
p =
-1
-1
0
k =
[]
【自我实践2-3】 将系统传递函数转化为部分分式展开式
1) G(s)=
2) G(s)=
【解】 1)>> num=conv([1,0],conv([1,0],[1,0]))
>> den=[1,3]
>> [r,p,k]=residue(num,den)
r = -27
p = -3
k = 1 -3 9
2)>> num=conv([8],conv([1,1-j],[1,1+j]))
>> den=conv([1,0,0],conv([1,5],[1,0,1]))
>> [r,p,k]=residue(num,den)
r =
0.2092
-1.3846 + 1.0769i
-1.3846 - 1.0769i
2.5600
3.2000
p =
-5.0000
-0.0000 + 1.0000i
-0.0000 - 1.0000i
0
0
k =[]
【范例2-4】 已知系统G(s)= ,H(s)=,求负反馈闭环传递函数。
【解】 MATLAB程序为:
>> numg=[2,5,1];deng=[1,2,3]
>> numh=[5,10];denh=[1,10]
>> [num,den]=feedback(numg,deng,numh,denh)
>> printsys(num,den)
num/den =
2 s^3 + 25 s^2 + 51 s + 10
---------------------------
11 s^3 + 57 s^2 + 78 s + 40
【自我实践2-6】 已知系统G(s)=,求它的单位负反馈闭环传递函数。
【解】 MATLAB程序为:
>> numg=[2,1];deng=[1,2,3]
>> numh=[1];denh=[1]
>> [num,den]=feedback(numg,deng,numh,denh)
>> printsys(num,den)
num/den =
2 s + 1
-------------
s^2 + 4 s + 4