用MATLAB进行控制系统的动态性能的分析自动控制原理课程设计.docx
- 文档编号:29944123
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:18
- 大小:64.54KB
用MATLAB进行控制系统的动态性能的分析自动控制原理课程设计.docx
《用MATLAB进行控制系统的动态性能的分析自动控制原理课程设计.docx》由会员分享,可在线阅读,更多相关《用MATLAB进行控制系统的动态性能的分析自动控制原理课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
用MATLAB进行控制系统的动态性能的分析自动控制原理课程设计
学号:
课程设计
题目
用MATLAB进行控制系统的动态性能的分析
学院
自动化学院
专业
自动化专业
班级
姓名
指导教师
2013
年
1
月
1
日
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
自动化学院
题目:
用MATLAB进行控制系统的动态性能的分析
初始条件:
已知三阶系统的闭环传递函数为
分析系统的动态性能。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、用MATLAB函数编程,求系统的动态性能指标。
2、设
的根是系统的主导极点,编制程序,求系统的动态性能指标。
3、用MATLAB编制程序分析a=0.84,a=2.1,a=4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。
3、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。
说明书的格式按照教务处标准书写。
时间安排:
任务
时间(天)
审题、查阅相关资料
2
分析、计算
2
编写程序
2
撰写报告
0.5
论文答辩
0.5
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
在控制系统中,我们常常很关注系统的动态性能指标,以此来评估系统对突然变化的输入信号的适应能力。
对于二阶系统,特别是处于欠阻尼状态的典型二阶系统,分析其动态性能比较方便。
而三阶及以上的高阶系统分析起来则比较复杂,为了工程上的需求,我们往往可以使用近似的方法来估算系统的动态性能。
因此,研究将高阶系统近似为二阶系统估算其动态性能的条件显得尤为重要。
我们先将给定高阶系统近似为二阶系统来计算其动态性能,然后给定系统中的参数几个确定的值,并用MATLAB软件来精确分析高阶系统的动态性能,并与近似计算所得结果进行比较,从而可以得到将高阶系统近似为二阶系统以估算其动态性能的条件。
利用数学工具MATLAB编程,我们可以准确地分析系统的动态性能,并将结果与估算结果进行比较以得到结论。
因此,掌握MATLAB的基本使用方法和编程技巧以及其在控制理论中的应用也非常重要。
关键词:
控制系统MATLAB动态性能近似条件
目录
1高阶系统动态性能分析4
1.1传递函数整理4
1.2Matlab编程求解系统动态性能指标4
2闭环主导极点和近似分析6
2.1闭环主导极点6
2.2系统动态性能的近似分析6
3a值确定时系统的动态性能9
3.1a=0.84时系统的动态响应9
3.2a=2.1时系统的动态响应11
3.3a=4.2时系统的动态响应11
3.4高阶系统近似的条件12
4心得体会14
参考文献15
附录仿真程序16
本科生课程设计成绩评定表17
1
高阶系统动态性能分析
1.1传递函数整理
已知三阶系统的闭环传递函数为
将其化简为典型三阶系统传递函数的形式
式中a为未知参数,系统没有零点,有3个极点,其中1个实数极点,1对共轭复数极点。
根据题目给定条件,系统的闭环主导极点为方程
=0的共轭复根。
利用该式便于利用系统的闭环主导极点来近似分析系统的动态性能。
将系统的闭环传递函数化为一般形式,有
利用该式便于使用Matlab对系统的动态性能进行分析。
1.2Matlab编程求解系统动态性能指标
为了方便后面利用Matlab对系统动态性能进行分析,可以根据三阶系统闭环传递函数的一般表达式,编写通用的求解性能指标的程序,程序如下:
num=[2.7*a];
den=[10.8+a0.64+0.8*a0.64*a];
G=tf(num,den);
t=0:
0.01:
30;%给定时间范围
step(G,t);%输出阶跃响应曲线
[y,x,t]=step(num,den,t);
ymax=max(y);%求响应峰值
yss=y(length(t));%求响应终值
pos=(ymax-yss)/yss%求超调量
forn=1:
3001
ify(n)==ymax;tp=n;
end
end
tp=(tp-1)/100%求峰值时间
n=3001;
y1=1.02*yss;
y2=0.98*yss;%取△=0.02
whilen>0
n=n-1;
ify(n)>=y1|y(n)<=y2;
ts=n;
break
end
end
ts=(ts-1)/100%求调节时间
xlabel('t');ylabel('h(t)');
title('Unit-StepResponse');
grid
利用该程序可以通过Matlab准确分析系统的动态性能指标,前提是给定了a的数值,将a的值代入程序即可完成计算。
2
闭环主导极点和近似分析
1
2
2.1闭环主导极点
对于该三阶系统来说,它有一对共轭复数极点s1,2=-0.4+j0.69,一个实数极点s3=-a,其中共轭复数极点s1,2是系统的闭环主导极点。
假设s3距离虚轴的距离比s1、s2离虚轴的距离大得多,即|a|>>|-0.4+j0.69|,则可以将该三阶系统近似为相应的二阶系统,从而达到简化分析的目的。
由三阶系统的闭环传递函数
忽略分母中
项,则可以得到相应的二阶系统的闭环传递函数
从该式可以很容易看出二阶系统的ωn=0.8rad/s,ζ=0.5,故该二阶系统处于欠阻尼状态。
2.2系统动态性能的近似分析
根据二阶系统在欠阻尼状态下动态响应性能指标的公式,很容易可以求出系统的动态性能指标
=4.53s
=0.163
=10s
利用Matlab编程,可以得到系统的响应曲线,也可以对系统的动态性能指标进行求解,程序如下:
num=[2.7];
den=[10.80.64];
G=tf(num,den)
t=0:
0.01:
30;%给定时间范围
step(G,t);%输出阶跃响应曲线
[y,x,t]=step(num,den,t);
ymax=max(y);%求响应峰值
yss=y(length(t))%求响应终值
pos=(ymax-yss)/yss%求超调量
forn=1:
3001
ify(n)==ymax;tp=n;
end
end
tp=(tp-1)/100%求峰值时间
n=3001;
y1=1.02*yss;
y2=0.98*yss;%取△=0.05
whilen>0
n=n-1;
ify(n)>=y1|y(n)<=y2;
ts=n;
break
end
end
ts=(ts-1)/100%求调节时间
xlabel('t');ylabel('h(t)');
title('Unit-StepResponse');
grid
保存并运行该程序,得到的响应曲线如图2-1所示
图2-1近似计算时系统的单位阶跃响应曲线
同时可以求得系统动态性能如下:
σ=pos=0.1630
tp=4.5300s
ts=10.0900s
可以看出,该结果与根据公式直接计算一致。
3
a值确定时系统的动态性能
2
3
3.1a=0.84时系统的动态响应
将a=0.84代入1.2节所列程序中,或者在程序最前面加入语句
a=0.84;
得到如下程序
a=0.84;
num=[2.7*a];
den=[10.8+a0.64+0.8*a0.64*a];
G=tf(num,den);
t=0:
0.01:
30;%给定时间范围
step(G,t);%输出阶跃响应曲线
[y,x,t]=step(num,den,t);
ymax=max(y);%求响应峰值
yss=y(length(t));%求响应终值
pos=(ymax-yss)/yss%求超调量
forn=1:
3001
ify(n)==ymax;tp=n;
end
end
tp=(tp-1)/100%求峰值时间
n=3001;
y1=1.02*yss;
y2=0.98*yss;%取△=0.02
whilen>0
n=n-1;
ify(n)>=y1|y(n)<=y2;
ts=n;
break
end
end
ts=(ts-1)/100%求调节时间
xlabel('t');ylabel('h(t)');
title('Unit-StepResponse');
grid
保存程序并运行,可以得到系统的单位阶跃响应曲线如图3-1所示
图3-1a=0.84时系统的动态响应曲线
同时得到系统的动态性能指标如下
σ=pos=0.0874
tp=6.0700s
ts=8.2700s
3.2a=2.1时系统的动态响应
将a=2.1代入1.2节所示程序并运行程序,得到系统的单位阶跃响应曲线如图3-2所示
图3-2a=2.1时系统的动态响应曲线
同时得到系统的动态性能指标如下
σ=pos=0.1492
tp=5.0900s
ts=10.4700s
3.3a=4.2时系统的动态响应
将a=2.1代入1.2节所示程序并运行程序,得到系统的单位阶跃响应曲线如图3-2所示
图3-3a=4.2时系统的动态响应曲线
同时得到系统的动态性能指标如下
σ=pos=0.1597
tp=4.7900s
ts=10.3100s
3.4高阶系统近似的条件
通过以上分析,我们来对高阶系统近似为二阶系统以及a取不同值时系统的动态响应性能指标列入表格做一个比较。
表3-1不同情况下系统的动态响应指标
峰值时间tp(s)
超调量σ%
调节时间ts(s)
近似为二阶系统
4.53
16.3%
10
a=0.84
6.07
8.74%
8.27
a=2.1
5.09
14.92%
10.47
a=4.2
4.79
15.97%
10.31
通过对表3-1的分析,可以得到闭环非主导极点对系统的以下几个作用:
1)增大峰值时间,使系统响应速度变缓。
当系统的闭环非主导极点越接近虚轴时,这种作用越明显。
2)增大系统阻尼,减小系统超调量。
当闭环非主导极点从远离虚轴到越接近主导极点的实部坐标时,这种作用越明显。
可以验证,当|s3|<|Res1|,则系统将进入过阻尼状态,此时s3将代替共轭复数极点成为系统的闭环主导极点。
3)缩短调节时间,影响方式与影响超调量一致。
综上所述,闭环非主导极点对系统动态性能总的影响是增大峰值时间,减小系统的超调量和调节时间,并且其影响作用随着它从远离虚轴到接近虚轴而增大,故我们可以得到以下结论:
高阶系统忽略附加极点,近似为二阶系统的条件为:
附加极点s3的模远小于闭环主导极点s1的实部的绝对值,即
|s3|<<|Res1|
对于高阶系统来说,越靠近虚轴的极点对系统动态性能的影响越显著,而离虚轴越远对系统的动态性能越微弱。
因此,我们把离虚轴近的极点看做闭环主导极点,而把离虚轴较远的极点看做附加极点。
由表3-1可以看出,当a=0.84时,将系统近似为二阶系统误差很大;当a=2.1时,将系统近似为二阶系统误差要小得多;而当a=4.2时进行近似计算误差已经非常小了,完全满足工程上的需要。
故可以认为,如果系统闭环传递函数的某极点的实部大于闭环主导极点实部5-6倍以上时,可以忽略该极点对系统动态性能的影响而将系统近似为二阶系统来分析。
4
心得体会
本次的《自动控制原理》课程设计在时间上略显仓促,加上对MATLAB接触不多,仅仅在上个学期完成“基础强化训练”时初步接触,因此在设计过程中遇到了一定的困难。
通过自己这几天对MATLAB编程的学习,我掌握了一些常用的MATLAB语句,比如常规的计算以及if-end、for-end、while-end、switch-case-end等语句,也学习了如何使用MATLAB来对控制系统进行分析。
此外,由于在本学期在学习《自动控制原理》时,对高阶系统并没有太在意,因此在分析本课程设计题目时不知从何下手,于是我查阅课本和相关资料学会了一些分析三阶系统动态性能的方法。
在解决了以上困难后,我开始对本次课程设计的题目进行分析,一步一步地完成了课题。
总的来说我的课程设计题目并不难,所给三阶系统只有一个闭环非主导极点而没有闭环零点,因此处理起来也显得比较简单。
尽管如此,我觉得我还是有不少收获。
由于在控制系统中,几乎所有的控制系统都是高阶系统,其动态性能是比较复杂的,因此掌握分析其动态性能的方法是很重要的。
我们可以通过近似计算来分析其动态性能,但是如果系统不满足近似计算得条件,则需要通过数学工具MATLAB来进行分析。
通过使用MATLAB,我们可以得到更准确的系统动态性能指标,并能处理更加复杂的系统,这是非常有实用价值的。
在完成课程设计的过程中,我更加深刻地体会到将所学知识加以应用是多么重要。
如果没有本次课程设计,我可能还认为MATLAB就是用来处理数学问题的一款软件,也不知道如何分析一些复杂的系统。
现在,我才知道原来使用MATLAB来分析控制理论中的问题是如此方便、准确。
同时,通过本次课程设计,我觉得我分析问题、解决问题的能力有所提高,也认识到遇到不懂的问题及时请教老师、同学是有多么重要。
虽然此课题并不是团队课题,但请教老师、同学也是无可厚非的,在这个越来越注重团结协作精神的年代,孤军奋战常常并不是我们所需要的。
当下的先进科研成果很少是仅凭个人能力完成的,大多数都是由团队完成的,毕竟众人拾柴火焰高,加强团队协作精神才有望取得更多的成果。
参考文献
[1]胡寿松.自动控制原理(第四版),科学出版社,2001.8
[2]王万良.自动控制原理,高等教育出版社,2008.6
[3]刘叔军.MATLAB7.0控制系统应用与实例,机械工业出版社,2006
[4]余成波、张莲等.自动控制原理,清华大学出版社,2006.1
[5]彭学峰、刘建斌等.自动控制原理实践教程,中国水利水电出版社,2006.4
[6]KatsuhikoOgata著、王峻译.控制理论MATLAB教程,电子工业出版社,2012.8
附录仿真程序
num=[2.7*a];
den=[10.8+a0.64+0.8*a0.64*a];
G=tf(num,den);
t=0:
0.01:
30;%给定时间范围
step(G,t);%输出阶跃响应曲线
[y,x,t]=step(num,den,t);
ymax=max(y);%求响应峰值
yss=y(length(t));%求响应终值
pos=(ymax-yss)/yss%求超调量
forn=1:
3001
ify(n)==ymax;tp=n;
end
end
tp=(tp-1)/100%求峰值时间
n=3001;
y1=1.02*yss;
y2=0.98*yss;%取△=0.02
whilen>0
n=n-1;
ify(n)>=y1|y(n)<=y2;
ts=n;
break
end
end
ts=(ts-1)/100%求调节时间
xlabel('t');ylabel('h(t)');
title('Unit-StepResponse');
grid
本科生课程设计成绩评定表
姓名
性别
专业、班级
课程设计题目:
用MATLAB进行控制系统的动态性能的分析
课程设计答辩或质疑记录:
成绩评定依据:
评定项目
评分成绩
1.选题合理、目的明确(10分)
2.设计方案正确、具有可行性、创新性(20分)
3.设计结果(例如:
系统设计程序、仿真程序)(20分)
4.态度认真、学习刻苦、遵守纪律(15分)
5.设计报告的规范化、参考文献充分(不少于5篇)(10分)
6.答辩(25分)
总分
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 进行 控制系统 动态 性能 分析 自动控制 原理 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)