现代控制理论Matlab仿真

基于Matlab的GUI仿真设计
开发说明文档
学院:信息科学与工程学院
班级:自动化1001
学号:20100413
姓名:
指导教师:赵明旺
二○一三年五月
一、设计题目
设有一个弹簧-质量-阻尼器系统,安装在一个不计质量的小车上,如题图所示。

u 和 y为分别为小车和质量体的位移,k、b 和 m 分别为弹簧弹性系数、阻尼器阻尼系数和质量体质量阻尼器。

试建立 u 为输入,y 为输出的状态空间模型。

二、设计目的
通过Matlab的GUI界面设计,达到现代控制理论课程的学习要求,学会建立一个系统的状态空间模型,能对线性系统进行时域分析,理解能控性、能观性及李亚普洛夫稳定性的定义,设计极点配置控制系统等.
三、设计要求
使用Matlab数学工具,运用现代控制理论中的知识对一个实际的弹簧-质量-阻尼器系统进行仿真,制作出一个GUI界面,可以动态的观察质量体变化并画出波形。

能控性、能观性、李亚普洛夫稳定性的判定,并配置极点构成一个闭环系统。

四、设计内容
1、菜单栏:
开始仿真(动态波形 + 动态系统)
复位(所有参数和图形全部初始化)
退出(退出GUI界面)
2、任务栏:
建模: 状态空间模型建立;传递函数模型建立
系统分析: 系统状态和输出响应计算及输出;能控性判定; 能观性判定;李雅普洛夫稳定性判定
系统综合: 极点配置控制系统设计;状态观测器设计(选作);带状态观测器的极点配置控制系统(选作)
3、系统模型参数:
k:弹簧弹性系数
b: 阻尼器阻尼系数
m: 质量体质量
4、系统输出参数:
输出变量: 质量体位移y + 状态变量(x1 & x2)
输出形式: 图形 + 数据
输出数据包括: 状态空间模型\传递函数模型\系统分析结论\状态反馈律\状态观测器\闭环系统模型等
5、仿真参数:
仿真时间:设置仿真时间
仿真步长:设置仿真步长
图形输出刷新时间速率: 设置图形输出刷新时间步长(如0.3秒)
6、系统输入参数:
输入信号:零输入响应 + 阶跃响应+ 任意输入信号(即任意输入表达式来表示输入任意信号,变量为t)
初始状态:系统初始状态
系统期望极点:一般配置在虚轴左边,此时闭环系统稳定
五、仿真系统介绍(含界面解图)
1. 仿真界面
2.仿真参数输入界面
3.建立状态空间模型
4.系统能控、能观性判断与分解
5.系统仿真
六、参考文献
《现代控制理论》赵明旺
《MATLAB语言与自动控制系统设计》王云亮
《MATLAB与控制系统的数字仿真及CAD》黄道平
七、心得与体会
刚开始做现控仿真的时候,一头雾水,不知从何下手,因为对这些东西不怎么熟悉,还需要从头做起。

大二时学过一些MATLAB语言,不过当时已马马虎虎忘了差不多了,于是从借matlab资料,再加上现代控制理论这本书自带的MATLAB介绍,使自己慢慢的对它熟悉起来,再加上同学的帮助和老师的指导,我也自信起来。

经过几周的学习和请教,现控仿真算是马马虎虎做完,从中学到了很多知识,其实很多东西只有自己亲身实践了才懂得它的艰辛与来之不易,我觉得这是值得的,并且自己也会终身受益!
最后,感谢赵明旺老师的精心指导和帮助,也希望自己能够学到更多的东西!。

合集下载

现代控制理论实验matlab 报告

现代控制理论实验matlab 报告

实验一系统的传递函数阵和状态空间表达式的转换实验目的:1、学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换的方法。

实验内容及结果:>>num=[0 0 1 2;0 1 5 3];den=[1 2 3 4];[A,B,C,D]=tf2ss(num,den)实验二状态空间控制模型系统仿真及状态方程求解实验目的:1、熟悉线性连续系统的状态空间控制模型的各种表示方法;2、熟悉系统模型之间的转换功能;3、利用MATLAB对线性定常系统进行动态分析。

实验内容及结果(1)>>num=[1 2 1 3]; den=[1 0.5 2 1];sys=tf(num,den);sys1=tf2zp(num,den); sys2=tf2ss(num,den); impulse(sys);step(num,den,t);>>A=[0 1;-10 -5];B=[0;0];D=B;C=[1 0;0 1];x0=[2;1];[y,x,t]=initial(A,B,C,D,x0);plot(t,x(:,1),t,x(:,2))gridtitle('Response to initial condition') xlabel('Time(sec)')ylabel('x1,x2')text(0.55,1.15,'x1')text(0.4,-2.9,'x2')>>A=[-1 -1;6.5 0]; B=[1 1;1 0];C=[1 0;0 1];D=[0 0;0 0];step(A,B,C,D)(4)思考>>A=[0 -2;1 -3];B=[2;0];C=[1 0];x0=[1;1];U=1;[t,x]=ode45(@solve_state_fun,[0 10],x0,[],A,B,U); plot(t,x(:,1),t,x(:,2));gridtitle('Response to initial condition')xlabel('Time(sec)')ylabel('x1,x2')text(0.55,1.15,'x1')text(0.4,-2.9,'x2')实验三系统能控性、能观性的判别实验目的:1、系统的能控性和能观测性的判别方法、系统的能控性和能观测性的分解;2、了解MATLAB中的相应的函数。

现代控制理论-基于MATLAB的实验指导书课程设计指导书

现代控制理论-基于MATLAB的实验指导书课程设计指导书

现代控制理论基于MATLAB的实验指导书第一部分实验要求1.实验前做好预习。

2.严格按照要求操作实验仪器,用毕恢复原状。

3.实验完成后,由指导教师检查实验记录、验收仪器后,方可离开。

4.实验报告应包括以下内容:1)实验目的;2)实验原理图;3)实验内容、步骤;4)仿真实验结果(保留仿真实验波形,读取关键参数);5)仿真实验结果分析。

第二部分MATLAB平台介绍实际生产过程中,大部分的系统是比较复杂的,并且要考虑安全性、经济性以及进行实验研究的可能性等,这在现场实验中往往不易做到,甚至根本不允许这样做。

这时,就需要把实际系统建立成物理模型或数学模型进行研究,然后把对模型实验研究的结果应用到实际系统中去,这种方法就叫做模拟仿真研究,简称仿真。

到目前为止,已形成了许多各具特色的仿真语言。

其中美国Mathworks软件公司的动态仿真集成软件Simulink与该公司著名的MATLAB软件集成在一起,成为当今最具影响力的控制系统应用软件。

国内MA TLAB软件的著名论坛为“MATLAB中文论坛”,网址为:https:///forum.php,建议同学们注册并参与论坛相关内容的讨论。

图1 MA TLAB仿真环境第三部分 实验实验一线性系统的时域分析实验目的熟悉MATLAB 环境,掌握用MATLAB 控制系统工具箱进行线性定常系统的时域分析、能控性与能观性分析、稳定性分析的方法。

实验要求完成指导书规定的实验内容,记录并分析实验结果,写出实验报告。

实验内容1.已知系统的状态模型,求系统在单位阶跃输入下的各状态变量、输出响应曲线。

例:[]⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡2121214493.69691.1,0107814.07814.05572.0x x y u x x x x 。

键入:a = [-0.5572, -0.7814; 0.7814,0]; b = [1; 0]; c = [1.9691,6.4493]; d = 0;[y, x, t]=step(a, b, c, d); plot(t, y); grid (回车,显示输出响应曲线。

现代控制系统分析与设计——基于matlab的仿真与实现

现代控制系统分析与设计——基于matlab的仿真与实现

现代控制系统分析与设计——基于matlab的仿真与实现现代控制系统的分析与设计一直是自动控制工程研究的热点课程。

为了深入研究现代控制系统,更好的利用电脑科技,本文以Matlab 软件为基础,探讨和研究了现代控制系统建模、仿真及实现方面的问题,并且给出了实例程序。

首先,本文介绍了杂质动力系统模型的概念及其建模方法。

主要包括了Laplace变换、拟合条件模型、有限时域展开法、步进响应法等几种常用建模方法,并通过具体实例程序详细阐述了各种方法的应用和原理。

同时,本文还介绍了现代控制系统的仿真方法,主要包括了定点模拟、仿真分析和参数仿真等技术,并且通过Matlab程序实现了系统的实时模拟仿真。

基于Matlab软件系统,本文还讨论了现代控制系统实现方法,包括了控制器设计、系统自动识别、实时控制及系统优化设计等问题,并且给出了在Matlab系统上的实现程序。

本文探讨了现代控制系统的建模、仿真及实现方面的问题,并且以具体的实例程序详细阐述了各种方法的应用。

本文的研究结果将有助于对控制系统的设计、仿真与实现过程有更深入的了解,并有益于控制系统的改进和优化。

总之,本文以Matlab软件为基础,探究了现代控制系统的建模、仿真及实现方面的问题,并且给出了具体的程序实现,有助于对控制系统的设计、仿真及实现全过程有更深入的了解,为今后工程实践和实验研究提供了重要参考资料。

- 1 -。

现代控制理论的MATLAB实现

现代控制理论的MATLAB实现

现代控制理论的MATLAB实现现代控制理论是控制工程中一门重要的学科,它研究如何设计和分析控制系统以满足一定的性能指标。

MATLAB是一种功能强大的科学计算和工程仿真软件,广泛应用于控制系统设计与分析。

本文将介绍现代控制理论的一些常见方法在MATLAB中的实现。

1.线性系统的状态空间表示线性系统的状态空间表示是现代控制理论的核心内容之一、在MATLAB中,可以使用`ss`命令创建线性系统的状态空间模型。

例如,假设存在一个二阶线性时不变系统,其传递函数为:![Transfer Function](transfer_function.png)可以使用以下代码将其转换为状态空间模型:```matlabnum = [1];den = [1, 1, 1];sys = tf(num, den);ss_sys = ss(sys);```2.线性系统的传递函数表示传递函数是描述线性系统输入输出关系的一种常用表示方法。

在MATLAB中,可以使用`tf`命令创建线性系统的传递函数模型。

例如,假设存在一个二阶线性时不变系统,其状态空间描述为:```matlabA=[0,1;-1,-1];B=[0;1];C=[1,0];D=0;ss_sys = ss(A, B, C, D);```可以使用以下代码将其转换为传递函数模型:```matlabtf_sys = tf(ss_sys);```3.常见控制器的设计与分析现代控制理论中常用的控制器设计方法包括PID控制器、根轨迹法、频率域分析等。

在MATLAB中,可以使用`pid`命令创建PID控制器,并使用`rlocus`命令绘制根轨迹图。

例如,创建一个PID控制器:```matlabKp=1;Kd=0.1;pid_controller = pid(Kp, Ki, Kd);```绘制根轨迹图:```matlabsys = tf([1], [1, 1, 1]);rlocus(sys);```4.系统的频率响应分析频率响应分析是现代控制理论中常用的系统性能评估方法之一、在MATLAB中,可以使用`bode`命令绘制系统的频率响应曲线。

Matlab数字仿真在现代控制理论教学中的应用

Matlab数字仿真在现代控制理论教学中的应用

Matlab数字仿真在现代控制理论教学中的应用作者:周兰,周少武来源:《当代教育理论与实践》 2014年第5期周兰,周少武(湖南科技大学信息与电气工程学院,湖南湘潭411201)摘要:Matlab数字仿真可以方便地完成控制系统建模、分析和设计中各种复杂的数学计算和作图,实现控制系统的仿真运行。

在现代控制理论课堂教学中应用Matlab进行控制系统模型建立和鲁棒稳定性分析,一方面帮助学生通过仿真图形直观地理解概念,激发学生学习兴趣,提高学习效率;另一方面实现了控制理论与控制系统案例的紧密联系,大大增加课堂信息量;同时能让学生在课堂教学中掌握Matlab这一实用软件,培养学生的动手能力。

关键词:Matlab数字仿真;课堂教学;鲁棒稳定性;稳态性能中图分类号:G642文献标志码:A文章编号:1674-5884(2014)05-0104-03科学技术的发展给控制理论的发展准备了两个重要的条件———现代数学和数字计算机。

现代数学,例如泛函分析、线性代数等,为现代控制理论提供了多种多样的分析工具;而数字计算机为现代控制理论发展提供了应用的平台[1]。

现代控制理论本质上是时域法,基于状态空间模型在时域中对系统进行分析和设计。

将Matlab知识应用于现代控制理论教学中,使Matlab语言和控制原理课程内容有机地结合,可以降低控制原理的抽象性,激发学生的学习兴趣,从而有效地提高学生的学习效率和教师课堂教学质量。

本文通过实例探讨Matlab仿真技术在控制系统模型建立和鲁棒稳定性分析教学中的应用。

1基于Matlab的模型建立与转换控制系统的数学模型是系统分析和设计的基础,一般控制理论教学和研究中经常将控制系统分为连续系统和离散系统,描述系统模型常用的描述方式是传递函数(矩阵)和状态方程[2]。

传递函数和状态方程之间、连续系统和离散系统之间可以进行转换。

Matlab控制系统工具箱中提供了大量的控制系统相互转换的函数,如表1所示。

现代控制理论MATLAB算法

现代控制理论MATLAB算法

现代控制理论MATLAB 实现例6.1.2系统的线性化模型如下[]xCx y ux Bu Ax x 0001101001100100001000010.==⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=+=其中x 是系统的状态变量,y 是小车的位移,u 是作用小车的力 1在Ae e =.作用下的误差如下。

M 文件如下得到的如下的结果:设计一个状态观测器,使得观测器极点是10,10,322,3224321-=-=+-=+-=u u j u j u解 观测器模型如下Ly Bu x LC A x++-=~.)(~运行如下m 文件状态估计的误差状态方程为:e LC A e )(.-=以下进一步通过仿真来检验观测器的效果,取初始误差向量为[]Te 1.01.021)0(-=执行如下m 文件状态估计的误差曲线如下降维观测器的题:例6,3,2考虑系统Cxy Bu Ax x =+=.其中,[]001,100,6116100010=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=C B A 设计一个具有极点u1=-10,u2=-10,的降维的观测器。

因此降阶观测器的增益矩阵是L=[]T514,具有期望极点的降阶观测器为u y w w ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--+⎥⎦⎤⎢⎣⎡---=10260191616114~.~跟踪控制器的设计例5.4.1已知被控对象的状态空间模型为[]xy u x x 21104310.=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--= 设计状态反馈控制器,使得闭环极点为-4和-5,和跟踪控制器。

并讨论闭环系统的稳态性能。

可以知道能稳定跟踪先判断是否能稳定跟踪可以得到如下的结果00.511.522.530.20.40.60.811.21.4time(sec)O u t p u t最优控制的习题例7.2.2考虑以下状态空间模型的描述的系统:其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=100,92735100010B A系统的性能指标J 定义为 ⎰∞+=)(t T T d Ru u Qx x J其中,[]1,100010001=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=R Q 设计最优状态反馈控制器,并检验最优闭环系统对初始状态[]Tx 001)0(=的响应。

现代控制系统分析与设计——基于matlab的仿真与实现

现代控制系统分析与设计——基于matlab的仿真与实现随着现代科技的发展,越来越多的系统需要被控制。

现代控制系统分析和设计是构建有效的控制系统的关键,而基于Matlab的仿真和实现技术可以为系统分析和设计提供有效的支持。

本文将从以下几个方面介绍基于Matlab的现代控制系统分析、设计、仿真和实现:
一、现代控制系统分析和设计
现代控制系统分析和设计是设计有效控制系统的关键,通过分析和设计把被控系统的模型建立出来,以及构建控制系统的控制参数、策略、信号和算法,最终完成控制系统的开发。

二、仿真和实现
仿真和实现是完成控制系统的重要环节,通过详细的分析和精确的仿真,找出控制系统的局限性,并对其进行改进以达到设计的要求,最终实现最优的控制效果。

三、基于Matlab的仿真和实现
基于Matlab的仿真和实现技术是构建有效现代控制系统的重要手段,它可以提供强大的数学运算与图形处理功能,并可以满足大多数系统分析、设计、仿真和实现的需求。

四、Matlab的应用
Matlab广泛应用在控制系统分析、设计、仿真和实现的各个方面,可以有效辅助系统分析,建立模型,优化模型参数,仿真系统行为和进行实际实现,可以说,Matlab是控制系统分析设计中不可或缺的重要支撑。

五、总结
本文介绍了现代控制系统分析和设计,并分析了基于Matlab的仿真和实现技术,Matlab在控制系统分析设计中的重要作用。

通过基于Matlab的现代控制系统分析和设计,可以有效的构建有效的控制系统,实现最优的控制效果。

现代控制理论MATLAB编程

现代控制理论实验报告姓名:班级:学号:目录一.实验设备二.实验目的三.实验步骤一、实验设备PC计算机1台,MATLAB软件1套。

二、实验目的1。

学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2。

通过编程、上机调试、掌握系统状态空间表达式与传递函数相互转换方法;3。

学习MATLAB的使用方法。

三、实验步骤1、根据所给系统的结构图写出死循环系统的传递函数,若K=10,T=0。

1时阶跃输出下的系统输出响应,并采用MATLAB编程.2、在MATLAB接口下调试程序,并检查是否运行正确.3、给出定二阶系统结构图:图为二阶系统结构图(1)求二阶系统的闭环循环传递函数ɸ(s )=)(1)(s G s G +=K S TS K++2(2)若K=10,T=0。

1,仿真给出阶跃下的系统输出响应把K T 代入方程得Φ(S)= =1)MATLAB 命令得出的系统响应曲线在MATLAB 上输入下列指令:〉> num=[100];>> den=[1,10,100];>> step (num,den)程序运行后显示的时域动态响应曲线(如图2)图为 时域动态响应曲线2)、用进行Simulink 进行仿真启动Simulink并打开一个空白的模块编辑窗口,画出所需模块,并给出正确参数,将画出的所有模块链接起来(如图1),构成一个原系统的框图描述(如图3).选择仿真控制参数,启动仿真过程。

仿真结果示波器显示如图4。

图3二阶系统的Simulink(仿真)图4仿真结果示波器显示(仿真输出)(3) 调整比例系数K,使之从零开始增加。

同时,观察仿真曲线的变化,并给出过阻尼、临界、欠阻尼的条件。

当K=0时的仿真曲线当K=1时的仿真曲线当K=2.5时的仿真曲线当K=3。

5时的仿真曲线当K=4时的仿真曲线根据调整比例系数K,使之从零开始增加,同时观察仿真曲线的变化,得出以下结论;过阻尼的条件:K>2.5时;临界阻尼条件:K=2.5时;欠阻尼的条件:K<2。

现代控制理论MATLAB算法

现代控制理论MATLAB 实现例6.1.2系统的线性化模型如下[]xCx y ux Bu Ax x 0001101001100100001000010.==⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=+=其中x 是系统的状态变量,y 是小车的位移,u 是作用小车的力 1在Ae e =.作用下的误差如下。

M 文件如下得到的如下的结果:设计一个状态观测器,使得观测器极点是10,10,322,3224321-=-=+-=+-=u u j u j u解 观测器模型如下Ly Bu x LC A x++-=~.)(~运行如下m 文件状态估计的误差状态方程为:e LC A e )(.-=以下进一步通过仿真来检验观测器的效果,取初始误差向量为[]Te 1.01.021)0(-=执行如下m 文件状态估计的误差曲线如下降维观测器的题:例6,3,2考虑系统Cxy Bu Ax x =+=.其中,[]001,100,6116100010=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=C B A 设计一个具有极点u1=-10,u2=-10,的降维的观测器。

因此降阶观测器的增益矩阵是L=[]T514,具有期望极点的降阶观测器为u y w w ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--+⎥⎦⎤⎢⎣⎡---=10260191616114~.~跟踪控制器的设计例5.4.1已知被控对象的状态空间模型为[]xy u x x 21104310.=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--= 设计状态反馈控制器,使得闭环极点为-4和-5,和跟踪控制器。

并讨论闭环系统的稳态性能。

可以知道能稳定跟踪先判断是否能稳定跟踪可以得到如下的结果00.511.522.530.20.40.60.811.21.4time(sec)O u t p u t最优控制的习题例7.2.2考虑以下状态空间模型的描述的系统:其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=100,92735100010B A系统的性能指标J 定义为 ⎰∞+=)(t T T d Ru u Qx x J其中,[]1,100010001=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=R Q 设计最优状态反馈控制器,并检验最优闭环系统对初始状态[]Tx 001)0(=的响应。

现代控制理论实验 用 MATLAB分析状态空间模型

a =
x1 x2 x3 x4
x1 0 1 0 0
x2 0 -1 1 0
x3 0 0 -1 1
x4 0 0 0 -3
b =
u1
x1 0
x2 0
x3 0
x4 2
c =
x1 x2 x3 x4
y1 2 0 0 0
d =
u1
y1 0
Continuous-time model.
>> stf=tf(sss)
Transfer function:
4.状态空间模型(SS模型)。
5.模型转换。
6.状态空间表达式的相似变换。
7. 提供直接计算特征值和特征向量的的函数 ,其调用格式为
(1)
(2)
计算广义向量需要符号计算箱的函数,其调用格式为
(1)
(2)
8.通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能空标准型和能观标准型。
提供的函数 可将状态空间表达式变换为对角标准型和约当标准型,但该函数系统含有重特征值时效果不甚理想。
3.熟悉系统的连接,学会用 确立整个系统的状态空间表达式和传递函数。
4.掌握状态空间表达式的相似变换。掌握将状态空间表达式转换为对角标准型、约当标准型、能空标准型、能观标准型的方法。学会 进行线性变换。
二、原理简述
1.现行定常系统的数学模型。
2.传递函数模型(TF模型)。
3.零极点增益模型(ZPK模型)。
三、仪器设备
计算机, 软件
四、线路示图
五、内容步骤
1.已知系统的传递函数
(1)建立系统的TF和ZPK模型;
(2)见给定的传递函数用函数ss()转换成状态空间表达式。再将得到的状态空间表达式用函数tf()转换为传递函数并与原函数比较。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档