控制系统仿真实验指导书.docx

上传人:b****8 文档编号:10254451 上传时间:2023-02-09 格式:DOCX 页数:18 大小:184.10KB
下载 相关 举报
控制系统仿真实验指导书.docx_第1页
第1页 / 共18页
控制系统仿真实验指导书.docx_第2页
第2页 / 共18页
控制系统仿真实验指导书.docx_第3页
第3页 / 共18页
控制系统仿真实验指导书.docx_第4页
第4页 / 共18页
控制系统仿真实验指导书.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

控制系统仿真实验指导书.docx

《控制系统仿真实验指导书.docx》由会员分享,可在线阅读,更多相关《控制系统仿真实验指导书.docx(18页珍藏版)》请在冰豆网上搜索。

控制系统仿真实验指导书.docx

控制系统仿真实验指导书

 

控制系统仿真实验指导书

梅秀庄主编

 

内蒙古工业大学机械学院

2009年12月

 

实验一MATLAB基本操作与基本运算

一、实验目的及要求:

1.熟悉MATLAB7.0的开发环境;

2.掌握MATLAB7.0的一些常用命令;

3.掌握矩阵、变量、表达式的输入方法及各种基本运算。

二、实验内容:

1.熟悉MATLAB7.0的开发环境:

①MATLAB的各种窗口:

命令窗口、命令历史窗口、启动平台窗口、工作空间窗口、当前路径窗口。

 

图1MATLAB界面窗口

②路径的设置:

Ø建立自己的文件夹,加入到MATLAB路径中,并保存。

Ø设置当前路径,以方便文件管理。

③改变命令窗口数据的显示格式

>>formatshort

>>formatlong

然后键入特殊变量:

pi(圆周率),比较显示结果。

2.掌握MATLAB常用命令

>>who%列出工作空间中变量

>>whos%列出工作空间中变量,同时包括变量详细信息

>>savetest%将工作空间中变量存储到test.mat文件中

>>loadtest%从test.mat文件中读取变量到工作空间中

>>clear%清除工作空间中变量

>>help函数名%对所选函数的功能、调用格式及相关函数给出说明

>>lookfor%查找具有某种功能的函数但却不知道该函数的准确名称

如:

lookforLyapunov可列出与Lyapunov有关的所有函数。

3.在MATLAB的命令窗口计算:

1)

2)

4.设计M文件计算:

已知

 

求出:

1)a+ba-ba+b*5a-b+I(单位阵)

2)a*ba.*ba/b

3)a^2a.^2

注意:

点运算的功能,比较结果。

5.设计M文件计算:

x=0:

0.1:

10

当sum>1000时停止运算,并显示求和结果及计算次数。

三、实验报告要求:

1)体会1、2的用法;

2)对3、4、5写出程序及上机的结果。

实验二MATLAB语言的程序设计

一、实验目的

1、熟悉MATLAB程序编辑与设计环境

2、掌握各种编程语句语法规则及程序设计方法

3、函数文件的编写和设计

4、了解和熟悉跨空间变量传递和赋值

二、实验内容

1、用for循环语句实现求1~100的和

2、用for循环语句实现编写一个求n阶乘的函数文件

3、找到一个n!

>10100的值(利用上题的n阶乘函数文件)

4、编写一个乘法表(9×9)

5、已知一维数组A=[2,4,5,8,10]、B=[4,9,6,7,4],用for循环语句实

,求和函数可用sum()

6、编写验证魔方矩阵的函数文件,输出要求如下:

(1)如果输入矩阵的维数小于3,输出显示’error’

(2)如果输入矩阵的不是方阵,输出显示’thesizeofmatrixXmust

beN-by-Nmatrix’

(3)显示行、列和及其对角线求和后的值,并判断其和是否相同。

若不同,显示‘No’,相同显示‘Yes’。

三、实验报告要求:

在M文件编辑器中,编写程序代码并调试

实验三MATLAB的图形绘制

一、实验目的及要求:

1.掌握MATLAB绘图的基本方法,熟悉各种绘图函数的使用;

2.掌握图形的修饰方法和标注方法;

3.了解MATLAB中图形窗口的操作。

二、实验内容:

x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos2x

①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注(如下图所示)。

 

图2四分区绘制曲线

②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。

 

图3同一窗口绘制多条曲线

③(选做)在图形窗口可利用Figure窗口菜单提供的功能进行操作,并保存成**.fig文件。

三、实验报告要求:

写出相应的的程序及上机结果。

实验四函数文件设计和控制系统模型的描述

一、实验目的及要求:

1.掌握函数文件的设计方法;

2.掌握控制系统数学模型的基本描述方法。

二、实验内容:

1、函数文件设计:

设计一个函数文件实现一个阶乘运算

并设计程序调用该函数。

为保证函数的通用性,当输入负数或小数时,显示出错提示:

disp('Inputparametermustbeapositiveinteger!

')

提示:

fix(x)对零方向取整数

ceil(x)对+

方向取整数

round(x)四舍五入取整数

2、已知两个传递函数分别为:

①在MATLAB中分别用传递函数、零极点表示;

②在MATLAB中分别求出通过反馈、串联、并联后得到的系统模型;

三、实验报告要求:

写出程序及上机的结果。

实验五控制系统的频域与时域分析

一、实验目的:

1、掌握控制系统数学模型的基本描述方法和相互转化

2、了解控制系统的稳定性分析方法

3、掌握控制系统频域与时域分析基本方法

二、实验内容

1、表示下列传递函数模型,并转化成其它的数学模型

2、求下面系统在阶跃信号

时系统的响应

并求系统性能指标:

稳态值、上升时间、调节时间、超调量

3、已知两个单位负反馈系统中的开环传递函数分别为:

①分别用传递函数、零极点法表示开环模型;

②分别绘制开环系统的bode图和nyquist曲线;

③④分别绘制闭环系统的阶跃响应曲线,分析静态误差;

⑤分别绘制闭环系统的单位斜坡输入响应曲线,分析静态误差。

三、实验报告要求:

写出程序及上机的结果,并对结果进行分析。

 

实验六控制系统PID校正器设计法

一、实验目的

1、熟悉常规PID控制器的设计方法

2、掌握PID参数的调节规律

3、学习编写程序求系统的动态性能指标

二、相关知识——临界比例度法(边界稳定法)

用系统的等幅振荡曲线来整定控制器的参数。

先测出系统处于闭环状态下对象的等幅振荡曲线,根据等幅振荡曲线定出一些能反映控制对象动态特性的参数,具体做法是将比例增益K(或比例度

=1/K)调在比较小的位置上(对应

为比较大位置上),逐渐增大K值(或逐渐减小

),直到出现等幅振荡曲线,此时的比例增益为Km,称为临界比例增益,

称为临界比例度。

从振荡曲线上读出临界周期Tm。

根据得到的Km(或

)、Tm两个参数,利用下表来计算控制器的控制参数。

控制器类型

控制器的控制参数

比例增益Kp

比例度

积分时间Ti

微分时间Td

P

0.5Km

2

0

PI

0.45Km

2.2

Tm/1.2

0

PID

0.6Km

1.7

0.5Tm

0.125Tm

三、实验内容

1、在SIMULINK窗口建立如下页模型。

2、设计PID控制器,传递函数模型如下

3、修改PID参数

讨论参数对系统的影响

4、利用临界比例度法(即:

稳定边界法)对PID参数

校正设计。

参数

Km

Tm

Kp

Ti

Td

数值

5、根据PID参数

对系统的影响,调节PID参数实现系统的超调量小于10%。

参数

Kp

Ti

Td

数值

6、通过程序求得系统的超调量、上升时间和调节时间(误差带选为5%)

四、实验报告要求:

写出程序及上机的结果,并对结果进行分析。

附录

1、MATLAB基本函数和语言

MATLAB的原意为MatrixLaboratory,即矩阵实验室,是由在数值线性代数领域颇有影响的CleveMoler博士首创的。

后来由Moler博士等一批数学家和软件专家组建了MathWorks软件公司,专门从事MATLAB的扩展与改进。

MATLAB不仅具有强大的数值计算能力,而且具有数据图示功能和符号运算功能。

特别是大量的工具箱,扩展了应用领域,是高校学生、教师、科研人员和工程计算人员的最好选择,是数学建模必不可少的工具。

一、变量及其赋值

(1)MATLAB中的变量不需要事先定义,在遇到新的变量名时,MATLAB会自动建立该变量并分配存储空间。

对变量赋值可采用赋值语句:

变量名=表达式(或常数)

例如:

(2)利用冒号表达式生成向量,基本形式为:

x=x0:

step:

xn

如:

a=1:

2:

12

则:

a=

1357911

(3)基本矩阵:

zeros全零矩阵(m×n阶),ones全一矩阵(m×n阶),eye(n)单位矩阵(方阶),length一维矩阵的长度,i、j虚数单位。

MATLAB中提供了一些用户不能清除的固定变量,最常用的固定变量为pi:

即3.1415

二、基本运算

1、算术运算:

+加-减*乘/除\左除^乘方

2、矩阵运算:

(1)矩阵的转置A’求矩阵A的转置。

(2)矩阵的逆运算inv(A)求方阵A的逆矩阵。

(3)矩阵的行列式运算det(A)求方阵A的行列式的值。

(4)矩阵的指数运算,即eA矩阵的指数运算的最常用的命令为expm(A)

(5)矩阵的对数运算logm(A)求方阵A的对数。

(6)矩阵的开方运算,即

sqrtm(A)求矩阵A的算术平方根。

3、

数组运算:

4、常用函数:

函数名

功能

函数名

功能

sin

正弦函数

exp

e的指数函数

asin

反正弦函数

log

自然对数函数

cos

余弦函数

log10

常用对数函数

acos

反余弦函数

log2

以2为底的对数函数

tan

正切函数

pow2

以2为底的幂函数

atan

反正切函数

sqrt

平方根函数

abs

模函数

imag

复矩阵虚部函数

angle

相角函数

real

复矩阵实部函数

conj

复共轭函数

三、逻辑判断

逻辑运算是数组运算所特有的一种运算形式,包括逻辑关系运算和逻辑函数运算。

结果为真用1表示,结果为假用0表示。

基本逻辑运算表

符号运算符

功能

函数名

==

等于

eq

~=

不等于

ne

<

小于

lt

>

大于

gt

<=

小于等于

le

>=

大于等于

ge

&

逻辑与

and

|

逻辑或

or

~

逻辑非

not

四、基本绘图方法

plot(t,y)plot(t,y,’*’)title(‘图1’)xlabel(‘t(s)’)xlabel(‘V(mv)’)gridongridoff

holdholdoffsubplot(n,m,p)gtext(‘’)stem(t,y)stairs(t,y)bar(t,y)

五、流程控制语句

(1)选择语句 

①if语句

if表达式语句组A,end

if表达式语句组A,else语句组B,end

②多分支(switch)语句

switch表达式case数值1,语句组A,otherwise语句组B,end

(2)循环语句

1for循环

fork=初值:

增量:

终值语句组A,end

2while循环

while表达式语句组A,end

2、常用矩阵函数

命令

说明

d=eig(A)

矩阵特征值

[v,d]=eig(A)

矩阵特征值和特征向量

det(A)

行列式计算

inv(A)

求逆

poly(A)

特征多项式

trace(A)

对角元素之和

orth(A)

正交化

3、常用特殊矩阵

命令

说明

A=[]

空矩阵

A=eye(n)

N维单位矩阵

A=ones(n,m)

全部元素都为1的矩阵

A=zeros(n,m)

全部元素都为0的矩阵

A=rand(n,m)

元素为0到1之间均匀分布的随机矩阵

A=randn(n,m)

元素为零均值单位方差正态分布的随机矩阵

4、图形绘制和修饰

(1)坐标轴调整

axis([xminxmaxyminymax])图形的x轴范围限定在[xminxmax]

y轴范围限定在[yminymax]

axis(‘控制字符串’)根据字符串控制图形

set(gca,‘xtick’,标示向量)按照向量设置X坐标的刻度标示

set(gca,’ytick’,标示向量)按照向量设置Y坐标的刻度标示

set(gca,‘xticklabel’,‘字符串|字符串…')按字符串设置X坐标的刻度标示

set(gca,'yticklabel’,‘字符串|字符串…')按字符串设置Y坐标的刻度标示

(2)文字标示

title(‘字符串’)图形标题

xlabel(‘字符串’)x轴标注

ylabel(‘字符串’)y轴标注

text(x,y,‘字符串’)在坐标处标注说明文字

gtext(‘字符串’)用鼠标在特定处标注说明文字

(3)网格控制

gridon在所画的图形中添加网格线

gridoff在所画的图形中去掉网格线

(4)图例注解

legend(‘字符串1’,‘字符串2’,…,参数)

为区分各条曲线以字符串进行注解说明,参数确定注解在图形中的位置。

(5)图形的保持

holdon保持当前图形及轴系的所有特性

holdoff解除命令

(6)图形窗口的分割可把一个绘图窗口分割成几个区域,分别绘图。

subplot(m,n,p)将当前绘图窗口分割成m行n列区域,指定第p个编号区域

为当前绘图区。

区域编号原则:

“先上后下,先左后右”。

5、线性系统分析设计

(1)模型描述

状态空间:

写为A、B、C、D四个矩阵的形式;也可用SYS=SS(A,B,C,D)

传递函数:

用分子、分母的多项式表示;可用SYS=TF(NUM,DEN)建立tf模型

零极点:

用增益k、分子零点向量z、分母极点向量p表示,

同样可用SYS=ZPK(Z,P,K)建立zpk模型

部分分式:

传递函数没有相同极点时,可与部分分式相互转换:

[r,p,k]=residue(num,den)传递函数变换为部分分式形式

[num,den]=residue(r,p,k)部分分式变换为传递函数形式

闭环系统

feedback反馈连接SYS=feedback(SYS1,SYS2,sign)

[A,B,C,D]=feedback(A1,B1,C1,D1,A2,B2,C2,D2,sign)

[num,den]=feedback(num1,den1,num2,den2,sign)

sign=+(-)1反馈极性,缺省-1为负反馈

类似地,有parallel系统并联series系统串联

(2)模型转换ss—状态空间、tf—传递函数、zp—零极点

Ø[num,den]=ss2tf(a,b,c,d,iu)状态空间到传递函数

Ø[z,p,k]=ss2zp(a,b,c,d,iu)状态空间到零极点

Ø[a,b,c,d]=tf2ss(num,den)传递函数到状态空间

Ø[z,p,k]=tf2zp(num,den)传递函数到零极点

Ø[a,b,c,d]=zp2ss(z,p,k)零极点到状态空间

Ø[num,den]=zp2tf(z,p,k)零极点到传递函数

Ø[r,p,k]=residue(num,den)传递函数到部分分式

Ø[num,den]=(r,p,k)部分分式到传递函数

(3)系统分析(以下模型描述也可以用状态空间表达式的A、B、C、D)

Østep(num,den)直接画出单位阶跃响应曲线,时间是自动给定

[y,x]=step(num,den,T)求系统在T时间向量下的单位阶跃响应输出,y是列

向量,并返回状态x的变化。

ØImpulse,lism用法类似step

Øbode(num,den,w)直接绘出bode图。

Ø[m,p]=bode(num,den,w)求出幅值和相角,可再用半对数坐标画图

ØNyquist(num,den,{wmin,wmax})

直接绘Nyquist曲线,{wmin,wmax}频率范围

Ø[real,imag,ww]=Nyquist(num,den,{wmin,wmax})

得到实部、虚部,可再绘图。

Ørlocus(num,den)直接绘出根轨迹

Ø[r,k]=rlocus(num,den)返回增益和对应的复极点

Ø[r]=rlocus(num,den,k)返回给定增益对应的复极点

(4)状态反馈设计

ØM=ctrb(A,B)系统的能控矩阵M=[BABA2B…An-1B]

ØN=obsv(A,C)求取系统的能观矩阵N=[CCACA2…CAn-1]

Øk=acker(A,B,p)(单输入)对于期望极点p,求出系统的状态反馈增益阵k

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

 

Ø

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1