线性系统理论MATLAB实验

合集下载

实验一利用MATLAB进行线性系统的模型转换季联结

实验一利用MATLAB进行线性系统的模型转换季联结

现代控制理论第一次上机实验报告实验 一 利用MATLAB 进行线性系统的模型转换及联结实验步骤:1、根据所给系统的已知条件,如传递函数、零极点模型或(A 、B 、C 、D ),实现状态空间模型、传递函数模型、零极点增益模型之间的转换,采用MATLAB 的相关函数编写m-文件。

2、应用系统建模工具,并联、串联、闭环、反馈等函数解决实际问题。

3、在MATLAB 界面下调试程序。

实验要求:1.在运行以上例程序的基础上,应用MATLAB 求下面传递函数阵的状态空间实现232252()234s s s G s s s s +⎡⎤⎢⎥++⎣⎦=+++ 提示:num =[0 0 1 2;0 1 5 3]解:执行以下m-文件>> num=[0 0 1 2; 0 1 5 3];>> den=[1 2 3 4];>> [A,B,C,D]=tf2ss(num,den)得到A =-2 -3 -41 0 00 1 0B =1C =0 1 21 5 3D =2.一个双输入双输出系统112233412311022711353x x x x u x x -⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦⎣⎦11223120011x y x y x ⎡⎤⎡⎤⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦求出此模型的能控标准型和能观标准型。

提示:写出两个子系统的传递函数模型,进而求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。

解:这是一个2输入2输出系统。

描述该系统的传递函数是一个22⨯维矩阵,它包括4个传递函数:11122122()()()()()()()()Y s U s Y s U s Y s U s Y s U s ⎡⎤⎢⎥⎣⎦当考虑输入1u 时,可设2u 为零,反之亦然。

matlab实验(线性系统的时域分析)

matlab实验(线性系统的时域分析)

实验二线性系统的时域分析实验目的:通过本次实验,进一步熟悉Matlab及Simulink软件仿真环境,主要是在控制系统中的应用,包括:Matlab中数学模型怎样表示,瞬态响应分析和如何绘制根轨迹。

实验准备知识:1、时域分析中MATLAB函数的应用(1)、求取单位阶跃响应函数step()的用法step(num,den):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,(2)、求取冲激响应函数impulse()的用法impulse (num,den):其中num和den分别为系统传递函数描述中的分子和分母多项式系数。

(3)、函数linmod()用来将系统的Simulink结构图模型转换为系统状态空间模型,进而用函数ss2tf()把状态空间模型转换为传递函数模型。

例如:程序为:[A,B,C,D]=linmod(’shiyan’); %shiyan为simulink模型文件名[num,den]=ss2tf(A,B,C,D);sys=tf(num,den)2、绘制根轨迹图的专用函数rlocus()rlocus(num,den),其中num 为传递函数分子,den 为分母[k,p]=rlocfind(num,den); 执行后,用鼠标单击根轨迹上任一点,会同时在每支根轨迹上出现红十字,标出n 个闭环极点的位置,命令窗中出现这n 个闭环极点的坐标和他们对应的K 值。

实验内容:一、 已知单位负反馈系统的开环传函)3)(7.0)(5.0()5.2(2.0)(++++=s s s s s s G 用Matlab 编写程序判断闭环系统的稳定性,并绘制闭环系统的零极点分布图;二、 如图所示请用MatLab 化解以上方框图,求出其传递函数。

三、 对于典型二阶系统2222)()(n n n s s s R s C ωζωω++=考虑n ω=1时,ζ分别为0.1,0.7,1和2。

用simulink 或MatLab 求出系统单位阶跃响应,并在图上求出各项性能指标t r ,t p ,t s ,%σ。

MATLAB仿真实例_线性系统理论与设计_[共2页]

MATLAB仿真实例_线性系统理论与设计_[共2页]
38 线性系统理论与设计
!)" +,-.,/ 仿真实例
例 121 某电枢控制的直流电动机转速系统模型如图 127所示,其中 Ra和 La分别为
电枢回路总电阻和总电感,J为电动机轴上的转动惯量,负载是摩擦系数为 f的阻尼摩擦。
试建立以电枢电压 u(t)为输入,轴的角位移 θ(t)为输出的状态空间模型。
值,以及电枢电压 u,则方程组有唯一解。因此,可以选择状态变量为
·
x1(t)=ia(t), x2(t)=θ(t), x3(t)=θ(t)
aex3+L1au
·x2=x3
·x3=CJmx1-Jfx3
输出方程为
y=θ=x2
由上述状态方程和输出方程可得系统的状态空间模型为
其中,Ea和 M分别为电动机电枢电势和电动机转矩,且 Ea=Ceddθt,M=Cmia。其中 Ce和 Cm
分别为电动机电枢电势和转矩常数(含恒定的磁通量)。因此,主回路电压方程和轴转动运
动方程可表示为
u=Raia+Laddita+Ceddθt
Cmia=Jdd2t2θ+fddθt
·
对于上述微分方程组,若已知电枢电流 ia(t)、角位移 θ(t)及其导数 θ(t)在初始时刻 t0的
·x=
-Ra La 0
Cm

0 0 0
-CLae
1 La
1 x+
-Jf
0u 0
y=[ 0 1 0] x
解 设电 动 机 励 磁 电 流 不 变,铁 芯 工 作 在 非 饱 和 区。
分析图 127所描述的电动机转速控制系统,可以写出电动 机的主回路电压方程和轴转动运动方程为
u=Raia+Laddita+Ea M=Jdd2t2θ+fddθt

线性系统理论matlab应用

线性系统理论matlab应用
从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都 是3,为满秩,因此该系统是能控的,也是能观测的。 注:当系统的模型用sys=ss(A,B,C,D)输入以后,也就是当系统模 型用状态空间的形式表示时,我们也可以用Qc=ctrb(sys), Qo=obsv(sys)的形式求出该系统的能控性矩阵和能观测性矩阵。
例2-3 某线性连续系统的状态方程为
x Ax Bu
y Cx Du
其中
0 1 0
A
0
0
1
6 11 6
1 0 B 2 1
0 2
1 1 0 C 2 1 1
D
0 0
0 0
采用零阶保持器将其离散化,设采样周期为0.1秒。求离散化的状态 方程模型。
解 输入以下语句,其中D=zeros(2)表示,将D赋值为2×2维的全零 矩阵。
函数的作用是合并同类项,而ilaplace( )函数的作用是求取拉 普拉斯逆变换,函数det( )的作用是求方阵的行列式。
第15页/共50页
程序执行结果
这表示
(t)
2 2
et et
e2t 2 e2t
et e2t
e
t
2
e2t
2 et e2t
x(t
)
2
et
2
e2t
第16页/共50页
2.2 线性非齐次状态方程的解
第19页/共50页
语句执行的结果为
计算结果表示系统离散化后的 状态方程为
0.9991 0.0984 0.0041
0.1099 0.0047
x(k 1) 0.0246
0.9541
0.0738
x(k)
0.1959
0.0902u(k)

实验二用MATLAB实现线性系统的时域分析

实验二用MATLAB实现线性系统的时域分析

实验二用MATLAB实现线性系统的时域分析线性系统是一种重要的数学模型,用于描述许多自然和工程系统的行为。

在实际应用中,对线性系统进行时域分析是非常重要的,以了解系统的稳定性、响应和性能特性。

MATLAB是一种功能强大的数学软件,被广泛用于线性系统的建模和分析。

首先,我们将介绍线性系统的时域分析的基本概念和方法。

然后,我们将学习如何使用MATLAB进行线性系统的时域分析,并通过具体的例子来演示。

时域分析是研究系统在时间上的响应,主要包括系统的因果性、稳定性、阶数、零极点分布、阻尼特性和幅频特性等。

其中,系统的因果性表示系统的输出只依赖于输入的过去和现在,与未来的输入无关;系统的稳定性表示系统的输出有界,不会无限增长或发散;系统的阶数表示系统差分方程的最高阶导数的次数。

在MATLAB中,线性系统可以用传输函数、状态空间或差分方程的形式表示。

传输函数是输入输出之间的比例关系,常用于分析系统的频率特性;状态空间是通过一组状态变量和状态方程描述系统的,可以用于分析系统的稳定性和阻尼特性;差分方程是通过相邻时刻的输入和输出之间的关系来描述系统的,可以用于分析系统的因果性和稳定性。

下面,我们以传输函数为例,介绍如何在MATLAB中进行线性系统的时域分析。

首先,我们需要定义传输函数。

MATLAB提供了tf函数来定义传输函数,其语法为:G = tf(num, den),其中num是传输函数的分子多项式的系数,den是传输函数的分母多项式的系数。

接下来,我们可以使用MATLAB中提供的各种函数和命令来进行时域分析。

例如,可以使用step函数来绘制系统的阶跃响应曲线,语法为:step(G);可以使用impulse函数来绘制系统的冲激响应曲线,语法为:impulse(G);可以使用initial函数来绘制系统的零状态响应曲线,语法为:initial(G, x0),其中x0是系统的初始状态。

此外,还可以使用MATLAB中的函数和命令来计算系统的阶数、零极点分布、频率响应等。

线性系统理论实验报告.

线性系统理论实验报告.

线性系统理论Matlab 实验报告1、在造纸流程中,投料箱应该把纸浆流变成2cm 的射流,并均匀喷洒在网状传送带上。

为此,要精确控制喷射速度和传送速度之间的比例关系。

投料箱内的压力是需要控制的主要变量,它决定了纸浆的喷射速度。

投料箱内的总压力是纸浆液压和另外灌注的气压之和。

由压力控制的投料箱是个耦合系统,因此,我们很难用手工方法保证纸张的质量。

在特定的工作点上,将投料箱线性化,可以得到下面的状态空间模型:u x x ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-+-=0001.0105.0002.002.08.0. []21,x x y =其中,系统的状态变量x1=液面高度,x2=压力,系统的控制变量u1=纸浆流量u2=气压阀门的开启量。

在上述条件下,试设计合适的状态变量反馈控制器,使系统具有实特征根,且有一个根大于5解:本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数时系统不稳定,这样的设计是无意义的,故而不妨采用状态反馈后的两个期望特征根为-7,-6,这样满足题目中所需的要求。

要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控。

Matlab 判断该系统可控性和求取状态反馈矩阵K 的程序,如图1所示,同时求得加入状态反馈后的特征根并与原系统的特征根进行了对比。

图1系统能控性、状态反馈矩阵和特征根的分析程序上述程序的运行结果如图2所示:图2系统能控性、反馈矩阵和特征根的运行结果图2中为图1matlab 程序的运行结果,经过判断得知系统是可控的,同时极点的配置个数与系统状态相符,求得了状态反馈矩阵K 的值,并把原系统的特征根(rootsold )和加入状态反馈后的特征根(rootsnew )进行对比。

同时通过特征值可以看出该系统是稳定的。

2、描述恒速制导导弹的运动方程为:u x x ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=0001000015.000100000005.00005.0-1.0-00010. []x y 01000= 运用ctrb 函数计算系统的能控型矩阵,并验证系统是不可控的;计算从u 到Y 的传递函数,并消去传递函数中的分子和分母公因式,由此可以得到能控的状态空间模型。

MATLAB实验报告(信号与线性系统分析)

MATLAB实验报告(信号与线性系统分析)

实验一 MATLAB 的基本使用【一】 实验目的1.了解MA TALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境;2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力;3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。

【二】 MATLAB 的基础知识通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取五. MATLAB 的数值计算功能六. 程序流程控制 七. M 文件八. 函数文件九. MATLAB 的可视化 【三】上机练习1. 仔细预习第二部分内容,关于MATLAB 的基础知识。

2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍3.已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=123456789,987654321B A 。

求A*B ,A .* B ,比较二者结果是否相同。

并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以及最大值。

解:代码:A=[1,2,3;4,5,6;7,8,9];B=[9,8,7;6,5,4;3,2,1]; A*B A.*B两者结果不相同A*B=30 24 18 84 69 54 138 114 90 A.*B= 9 16 21 24 25 24 21 16 9求A 矩阵的行和列: [M,N]=size(A)M =3N =3 求A 矩阵的长度:x=length(A)x =3 元素和:sum(sum(A))ans =45最大值:max(max(A))ans =94. Fibonacci 数组的元素满足Fibonacci 规则:),2,1(,12=+=++k a a a k k k ;且121==a a 。

现要求该数组中第一个大于10000的元素。

MATLAB线性系统时域响应分析实验

MATLAB线性系统时域响应分析实验

MATLAB线性系统时域响应分析实验线性系统时域响应分析是信号与系统课程中非常重要的一部分,通过掌握该实验可以深入了解线性系统的特性和性能。

本实验将介绍如何利用MATLAB软件进行线性系统时域响应分析。

一、实验目的1.掌握线性时不变系统的时域响应分析方法;2.学会利用MATLAB软件进行线性系统的时域响应分析;二、实验原理线性系统时域响应分析是指对于给定的线性时不变系统,通过输入信号和系统的冲激响应,求解系统的输出信号。

其基本原理可以用以下公式表示:y(t) = Σ[h(t)*x(t-tk)]其中,y(t)表示系统的输出信号,x(t)表示系统的输入信号,h(t)表示系统的冲激响应,tk表示冲激响应的时刻。

在MATLAB中,我们可以利用conv函数来计算线性系统的时域响应。

具体步骤如下:步骤一:定义输入信号x(t)和系统的冲激响应h(t);步骤二:利用conv函数计算系统的时域响应y(t);步骤三:绘制输入信号、冲激响应和输出信号的图像;步骤四:分析系统的特性和性能。

三、实验内容1.定义输入信号x(t)和系统的冲激响应h(t);2. 利用conv函数计算系统的时域响应y(t);3.绘制输入信号、冲激响应和输出信号的图像;4.分析系统的特性和性能,包括时域特性、频域特性、稳定性等。

四、实验步骤1.打开MATLAB软件并新建一个脚本文件;2.定义输入信号x(t)和系统的冲激响应h(t);3. 利用conv函数计算系统的时域响应y(t);4.绘制输入信号、冲激响应和输出信号的图像;5.分析系统的特性和性能,包括时域特性、频域特性、稳定性等;6.运行脚本文件,并观察输出图像和分析结果;7.根据实验结果和分析结果,进行总结和讨论。

五、实验总结通过本次实验,我们掌握了利用MATLAB软件进行线性系统时域响应分析的方法。

实验中,我们定义了输入信号和系统的冲激响应,并利用conv函数计算了系统的时域响应。

然后,我们绘制了输入信号、冲激响应和输出信号的图像,并分析了系统的特性和性能。

MATLAB控制工具箱应用及线性系统运动分析1

MATLAB控制工具箱应用及线性系统运动分析1

实验报告课程线性系统理论基础实验日期年月日专业班级姓名学号同组人实验名称控制工具箱的应用及线性系统的运动分析评分批阅教师签字一、实验目的1、学习掌握控制工具箱中的基本命令的操作方法;2、掌握线性系统的运动分析方法。

二、实验内容(1)自选控制对象模型,应用以下命令,并写出结果。

1)2, 2, 2, 2;2)2, , , 。

(2)掌握线性系统的运动分析方法1)已知,求Ate。

(用三种方法求解)2) 利用求解书上例2.8题,并画出状态响应和输出响应曲线,求解时域性能指标。

(加图标题、坐标轴标注及图标)3) 利用求解书上例2.12题([]c=),并画出状态10响应和输出响应曲线。

(加图标题、坐标轴标注及图标)4) P36 1.4(2) 1.5(3);P56 2.3(3)三、实验环境1、计算机120台;2、6软件1套。

四、实验原理(或程序框图)及步骤1、学习掌握控制工具箱中基本命令的操作设系统的模型如式(1-1)所示:p m n R y R u R x Du Cx y Bu Ax x ∈∈∈⎩⎨⎧+=+= (1-1)其中A 为n ×n 维系数矩阵;B 为n ×m 维输入矩阵;C 为p ×n 维输出矩阵;D 为p ×m 维传递矩阵,一般情况下为0。

系统的传递函数阵和状态空间表达式之间的关系如式(1-2)所示:D B A sI C s den s num s G +-==-1)()()(()( (1-2)式(1-2)中,)(s num 表示传递函数阵的分子阵,其维数是p ×m ;)(s den 表示传递函数阵的分母多项式,按s降幂排列的后,各项系数用向量表示。

五、程序源代码(1)自选控制对象模型,应用以下命令,并写出结果。

1), , , , , , , ;(系统单位阶跃响应)程序:[1,4];[1,2,8];(计算系统模型的固有频率)程序:[1];[1,10,10];[w ]()w =3.87303.87300.64550.6455:(绘制连续系统的零极点图)程序:H = ([1 -1 3],[2 1 -1]);(H):(求系统根轨迹)程序:[0 0 0 1];([1 0],[1 4(-1)]);(,[1 4(-1)]);[-4 1 -2 2];: 确定闭环根位置对应增益值K的函数()程序:([1,5,6],[1,8,3,25]);(G);[](G)(G,1);: 计算给定线性系统的伯德图程序:[1,4];[1,2,8];:从频率响应数据中计算出幅值裕度、相角裕度以及对应的频率[4];[1 2 1];0.1:1000;:绘制系统奈氏图[0 0 1 1];[1 2 0 0];2)2, 2, 2, 2;2:传递函数阵转换为状态空间模型[0 1 5 3];[1 2 3 4];[]2()A =-2 -3 -41 0 00 1 0B =1C =1 5 3D =2:状态空间模型转换为状态空间[0 1 0;0 0 14 -3 -2];[1;36];[1 0 0];0;[]2(,1)0 1.0000 5.0000 3.00001.00002.00003.00004.00002:将系统的传递函数形式转换为零点,极点,增益形式[0 1 5 3];[1 2 3 4];[z111]2()z1 =-4.3028-0.6972p1 =-1.6506 + 0.0000i-0.1747 + 1.5469i-0.1747 - 1.5469ik1 =12:将系统零极点形式转换为传递函数形式[-2 -3];[0135];3;[]2()A =-8.0000 -3.8730 0 0 3.8730 0 0 0 -3.0000 -2.3238 -1.0000 00 0 1.0000 0B =11C =0 0 0 3D =3)2, , , 。

线性系统的频域分析报告MATLAB实验

线性系统的频域分析报告MATLAB实验

1γ=50 20-=sK0原系统的伯德图:num/den =1.2347 s + 1 ------------- 0.20154 s + 1校正之后的系统开环传递函数为:num/den =6.1734 s + 5 ------------------------------------------- 0.20154 s^4 + 1.6046 s^3 + 3.4031 s^2 + 2 sP h a s e (d e g )Bode DiagramGm = Inf dB (at Inf rad/sec) , P m = 9.04 deg (at 3.14 rad/sec)-20020406080M a g n i t u d e (d B )alpha =6.1261;[il,ii]=min(abs(mag1-1/sqrt(alpha))); wc=w( ii); T=1/(wc*sqrt(alpha)); numc=[alpha*T,1]; denc=[T,1];[num,den]=series(num0,den0,numc,denc);[gm,pm,wcg,wcp]=margin(num,den); printsys(numc,denc)disp('УÕýÖ®ºóµÄϵͳ¿ª»·´«µÝº¯ÊýΪ:');printsys(num,den) [mag2,phase2]=bode(numc,denc,w); [mag,phase]=bode(num,den,w); subplot(2,1,1);semilogx(w,20*log10(mag),w,20*log10(mag1),'--',w,20*log10(mag2),'-.');grid; ylabel('·ùÖµ(db)'); title('--Go,-Gc,GoGc'); subplot(2,1,2);semilogx(w,phase,w,phase1,'--',w,phase2,'-',w,(w-180-w),':'); grid; ylabel('Ïàλ(0)'); xlabel('ƵÂÊ(rad/sec)');title(['УÕýÇ°£º·ùÖµÔ£Á¿=',num2str(20*log10(gm1)),'db','ÏàλԣÁ¿=',num2str(pm1),'0';'УÕýºó£º·ùÖµÔ£Á¿=',num2str(20*log10(gm)),'db','ÏàλԣÁ¿=',num2s tr(pm),'0']);10-110101102-60-40-2002040幅值(d b )--Go,-Gc,GoGc10-110101102-300-200-1000100相位(0)频率(rad/sec)矫正后系统的伯德图矫正之前系统单位阶跃响应矫正之后系统的单位阶跃响应:比较矫正前后系统的响应情况:可以看出超前矫正使系统的调节时间变短,响应更加迅速,但是超调量偏大,对改善系统的动态性能起到了巨大的作用。

实验二利用MATLAB求取线性系统的状态空间模型的解

实验二利用MATLAB求取线性系统的状态空间模型的解

现代控制理论第一次上机实验报告 实验二 利用MATLAB 求取线性系统的状态空间模型的解实验目的:1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应;2、通过编程、上机调试,掌握系统运动的分析方法。

实验原理:一、系统时域响应的求解方法给定系统的状态空间模型:()()()()()()x t Ax t Bu t y t Cx t Du t =+=+ (2.1) 设系统的初始时刻00t =,初始状态为(0)x ,则系统状态方程的解为0()0()(0)()(0)()t At AtA t At A t x t e x e e Bu d e x e Bu d ττττττ--=+=+⎰⎰ (2.2)输出为()0()(0)()()tAt A t y t Ce x C e Bu d Du t τττ-=++⎰ (2.3) 包括两部分,第一部分是由系统自由运动引起的,是初始状态对系统运动的影响;第二部分是由控制输入引起的,反映了输入对系统状态的影响。

输出()y t 由三部分组成。

第一部分是当外部输入等于零时,由初始状态0()x t 引起的,故为系统的零输入响应;第二部分是当初始状态0()x t 为零时,由外部输入引起的,故为系统的外部输入响应;第三部分是系统输入的直接传输部分。

实验步骤1、构建系统的状态空间模型,采用MA TLAB 的m-文件编程;2、求取系统的状态和输出响应;3、在MA TLAB 界面下调试程序,并检查是否运行正确。

实验要求1、在运行以上程序的基础上,应用MA TLAB 验证一个振动现象可以由以下系统产生:01()10x t x ⎡⎤=⎢⎥-⎣⎦证明该系统的解是cos sin ()(0)sin cos t t x t x t t ⎡⎤=⎢⎥-⎣⎦假设初始条件0(0)1x ⎡⎤=⎢⎥⎣⎦,用Matlab 观察该系统解的形状。

m-程序如下:A=[0 1;-1 0];B=[0;0]; D=B;C=[1 0;0 1];sys=ss(A,B,C,D);x0=[0;1];t=[0:0.01:20];[y,T,x]=lsim(sys,u,t,x0)subplot(2,1,1),plot(T,x(:,1))xlabel('Time(sec)'),ylabel('X_1')subplot(2,1,2),plot(T,x(:,2))xlabel('Time(sec)'),ylabel('X_2')仿真结果如下:仿真分析:由仿真图可知,X1和X2周期相同约为6.2,相位差90度,故X1=sint;X2=cost,得证。

自控原理MATLAB线性系统稳定性分析实验四

自控原理MATLAB线性系统稳定性分析实验四

MATLAB线性系统稳定性分析实验四
实验目的
1、了解MATLAB的Simulink仿真环境
2、掌握了解MATLAB的Simulink仿真环境的基本操作
3、学习用了解MATLAB的Simulink仿真环境查看建立的模型的输出,并尝试修改模型
一、实验步骤
已知结构框图如下:
用MATLAB的Simulink仿真环境构造系统,看示波器输出,并在系统中加入PID算法,使系统更加稳、快、准。

二、实验结果
(1)在没加入PID调节环节之前,系统运行结果不稳定:
(2)加入比例环节之后,且比例系数为1.5时:
振幅越来越大
(3)修改比例系数为0.5时:
输出逐渐趋于平稳,但调节时间太长;(4)再加入微分算法:
系统输出最终趋于平稳,但调节时间太长,且有超调;(5)调节微分系数为3:
系统调节时间缩短,但仍然有超调
(6)加入积分环节,且系数为0.5时:
此时系统反应达到稳快准的要求
三、小结:
初始系统不稳定,加上比例调节之后,系统幅度变小,最终趋于平稳;在比例环节加上微分环节后,系统快速性变好;加上微分环节之后,系统达到稳快准。

实验一 MATLAB线性系统建模及分析

实验一   MATLAB线性系统建模及分析

实验一 MATLAB 线性系统建模及分析一、实验目的1、 学会在matlab 中建立线性系统的数学模型。

2、 学会线性系统的simulink 模型的建立方法。

3、 学会用MATLAB 求解线性定常系统的输出响应,并绘制相应的曲线。

4、 学会用MATLAB 判断系统的稳定性、计算性能指标、分析系统的动态性能和稳态性能。

5、 学会用Matlab 绘制根轨迹,并由根轨迹分析系统性能。

6、 学会用Matlab 绘制奈奎斯特图和伯德图,并计算开环频域指标,对系统性能进行频域分析。

二、实验环境安装有MATLAB 和simulink 软件的计算机一台三、实验内容3.1 线性系统的数学模型的建立1、传递函数和脉冲传递函数的建立已知系统的传递函数为(a) 3486)(22++++=s s s s s G (b) )3()1(4)(2++=s s s s G (c) 61161)(232+++++=z z z z z z G (1)利用函数tf ( )或函数zpk( )建立上述系统的传递函数。

(2)利用函数zpk( )将多项式比值形式的传递函数转换为零极点形式,利用函数tf ( )将零极点形式的传递函数转换为多项式比值形式。

2、组合系统的传递函数已知两个子系统的传递函数为441)(21+++=ssssG21()1G ss=+建立两个子系统的传递函数模型。

求它们串联、并联、反馈连接时, 组合系统的传递函数模型。

3、 simulink模型的建立已知系统的开环传递函数为2()(4)G ss s=+建立单位负反馈系统的simulink模型,其中输入信号为单位阶跃函数,输出通过示波器观测。

仿真,并记录simulink模型和响应曲线。

系统的建模图形如下点击运行,后点击示波器,系统的响应曲线如下2.2 线性系统的时域分析1、已知系统的传递函数为326()4106G ss s s=+++(1)当初始状态为零,输入为时,用函数step( )求解系统的输出响应的数值解(记录写出前十个值),并绘制系统的输出响应曲线。

matlab实验(线性系统的数学模型)

matlab实验(线性系统的数学模型)

实验一线性系统的数学模型一、MATLAB基础1、提示符命令窗口:是使用者和MA TLAB交互的地方,使用者输入命令、程序,点击菜单项命令或工具栏按钮,指挥MA TLAB计算、仿真,其结果也都在命令窗口显示。

在提示符后面输入MA TLAB程序,按Enter键,MA TLAB将给出运行结果。

历史窗口:显示所有命令的历史记录,并且标明使用时间。

用鼠标双击其中一条命令行,就可以在命令窗口中执行该命令,MA TLAB将给出运行结果。

用鼠标单击其中的一条命令行,再按Enter键,MA TLAB也将给出运行结果。

工作空间窗口:显示目前内存中所有的MA TLAB变量名、数据结构、字节数以及类型。

发布窗口:点击主窗口的“view”“Launch Pad”,即可打开和关闭发布窗口。

其中显示Mathworks公司的工具箱(Toolbox)、Simulink和功能块(Blockset)等产品信息,点击显示的相应的图标,即可获得演示、帮助信息等信息。

程序编辑器:点击主窗口的“File”“New”“M--file”,即可打开MA TLAB的程序编辑器。

MA TLAB的程序编辑器2、MATLAB在建模仿真中的应用Simulink提供了大量的功能模块以方便用户快速地建立动态系统模型。

建模时只需使用鼠标拖动库中的功能模块并将他们连接起来。

使用者可以通过将他们连接起来。

使用者可以通过将模块组成子系统来建立多级模型。

Simulink对模块和连接的数目没有限制。

通过Simulink 提供的丰富的功能模块,可以迅速地创建系统的模型,不需要书写一行代码。

启动Simulink的方法有三种:1.在MA TLAB COMMAND窗口下,直接键入“Simulink”回车即可;2.单击MA TLAB COMMAND窗口工具条上的Simulink图标;3.在MA TLAB COMMAND窗口菜单上选择file---new-----model运行。

二、常用的函数:1、建立数学模型用到的MA TLAB 函数 (1)、多项式乘法处理函数conv()C=conv(A,B),其中A 、B 为进行相乘的多项式的系数;返回值C为两个多项式相乘后的多项式系数。

MATLAB线性系统的根轨迹实验

MATLAB线性系统的根轨迹实验

M A T L A B线性系统的根轨迹实验-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN实验报告实验名称 线性系统的根轨迹一、实验目的1.熟悉MATLAB 用于控制系统中的一些基本编程语句和格式。

2.利用MATLAB 语句绘制系统的根轨迹。

3.掌握用根轨迹分析系统性能的图解方法。

4.掌握系统参数变化对特征根位置的影响。

二、实验内容1.请绘制下面系统的根轨迹曲线)136)(22()(22++++=s s s s s K s G )10)(10012)(1()12()(2+++++=s s s s s K s G 2(0.051)()(0.07141)(0.0120.11)K s G s s s s s +=+++ 同时得出在单位阶跃负反馈下使得闭环系统稳定的K 值的范围。

2. 在系统设计工具rltool 界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。

三、实验结果及分析1.请绘制下面系统的根轨迹曲线)136)(22()(22++++=s s s s s K s G )10)(10012)(1()12()(2+++++=s s s s s K s G 2(0.051)()(0.07141)(0.0120.11)K s G s s s s s +=+++ 同时得出在单位阶跃负反馈下使得闭环系统稳定的K 值的范围。

(1)>> num=[0 0 1];>> den=[conv([1,2,2],[1,6,13]),0]; >> rlocus (num,den)>> [k,r]=rlocfind(num,den)Select a point in the graphics window selected_point =+k =r =+-+-使得闭环系统稳定K的范围为)4.K31,0((2) num=[0 1 12];den=[conv(conv([1,1],[1,12,100]),[1,10])]; rlocus (num,den)[k,r]=rlocfind(num,den)Select a point in the graphics window selected_point =+k =+003r =++使得闭环系统稳定K的范围为)∈eK1953.1,0(+003(3) num=[,1];>> den=[conv([,1],[,,1]),0];>> rlocus (num,den)[k,r]=rlocfind(num,den)Select a point in the graphics window selected_point =+k =r =+-+-使得闭环系统稳定K的范围为)8.7,0(K2. 在系统设计工具rltool 界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。

MATLAB实验报告——运用MATLAB求解和分析线性时不变系统1

MATLAB实验报告——运用MATLAB求解和分析线性时不变系统1

MATLAB实验报告课程名称 MATLAB程序设计实验日期 2015 年 05 月 11 日数据记录及分析1.例12.4-1(1)用MATLAB在时域中求解)()(12)(16)(7)(2233t et rdttdrdtt r ddtt r d=+++的齐次解。

程序截图:(2)程序截图:运行图像截图:2.例12.4-2求连续时间系统)()()(3)t(2)(22t edttdet rdtdrdtt rd+=++,当2)(tt e=时的特解。

程序截图:运行图像截图:3. 例12.4-3用户MATLAB在时域中求解)()()(t et rdttdr=+,)()1()(3tuete t-+=的零响入相应。

解法一:程序截图:运行图像截图:解法二:用MATLAB的dsolve函数直接获得零状态响应的表达式程序截图:运行图像截图:解法三:程序截图:运行图像截图:4.例12.4-5用MATLAB求解方程零状态响应分量,已知系统差分方程为nxyx-+nnnnunx=。

(n) y系统的激励序列)( y+7)+()2)1(21.0()1+=(+-)2(7.0程序截图:运行图像截图:。

MATLAB作为线性系统的一种分析和仿真工具

MATLAB作为线性系统的一种分析和仿真工具
MATLAB入门
2021/5/13
MATLAB作为线性系统的一种分析和仿真 工具,是理工科大学生应该掌握的技术工具,它 作为一种编程语言和可视化工具,可解决工程、 科学计算和数学学科中许多问题。 MATLAB建立在向量、数组和矩阵的基 础上,使用方便,人机界面直观,输出结果可 视化。 矩阵是MATLAB的核心
d=eye(m,n) 产生一个m行、n列的单位矩阵
2021/5/13
MATLAB (matrix1)
m=[1 2 3 4;5 6 7 8;9 10 11 12]
p=[1 1 1 1
2222
3 3 3 3]
a=[]
d =1 0 0
b=zeros(2,3)
010
c=ones(2,3) e =1 0 0
(2)访问一块元素: x(a :b :c)表示访问数组x的从第a 个元素开始,以步长为b到第c个元素(但不超过c),b可 以为负数,b缺损时为1. (3)直接使用元素编址序号. x([a b c d]) 表示提取 数组x的第a、b、c、d个元素构成一个新的数组 [x(a) x(b) x(c) x(d)].
function 因变量名=函数名(自变量名) 函数值的获得必须通过具体的运算实现,并赋给因变 量.
M文件建立方法:1. 在Matlab中,点:File->New->M-file
2. 在编辑窗口中输入程序内容
3. 点:File->Save,存盘,M文件名必须
与函数名一致。
Matlab的应用程序也可以用M文件保存。
12
15 30
1 2]
c =2 7 3
c1=a+a
394
c2=a*b
153

实验二 用MATLAB实现线性系统的频域分析

实验二  用MATLAB实现线性系统的频域分析

实验二用MATLAB实现线性系统的频域分析[实验目的]1.掌握MATLAB平台下绘制典型环节及系统开环传递函数的Bode图和Nyquist图(极坐标图)绘制方法;2.掌握利用Bode图和Nyquist图对系统性能进行分析的理论和方法。

[实验指导]一、绘制Bode图和Nyquist图1.Bode图绘制采用bode()函数,调用格式:①bode(sys);bode(num,den);系统自动地选择一个合适的频率范围。

②bode(sys,w);其中w(即ω)是需要人工给出频率范围,一般由语句w=logspace(a,b,n)给出。

logspace(a,b,n):表示在10a到10b之间的 n个点,得到对数等分的w值。

③bode(sys,{wmin,wmax});其中{wmin,wmax}是在命令中直接给定的频率w的区间。

以上这两种格式可直接画出规范化的图形。

④[mag,phase,ω]=bode(sys)或[m,p]=bode(sys)这种格式只计算Bode图的幅值向量和相位向量,不画出图形。

m为频率特性G(jω )的幅值向量;p为频率特性G(jω )的幅角向量,单位为角度(°)。

w为频率向量,单位为[弧度]/秒。

在此基础上再画图,可用:subplot(211);semilogx(w,20*log10(m) %对数幅频曲线subplot(212);semilogx(w,p) %对数相频曲线⑤bode(sys1,sys2,…,sysN) ;⑥bode((sys1,sys2,…,sysN,w);这两种格式可在一个图形窗口同时绘多个系统的bode图。

2. Nyquist曲线的绘制采用nyquist()函数调用格式:① nyquist(sys) ;② nyquist(sys,w) ;其中频率范围w由语句w=w1:Δw:w2确定。

③nyquist(sys1,sys2,…,sysN) ;④nyquist(sys1,sys2,…,sysN,w);⑤ [re,im,w]=nyquist(sys) ;re—频率响应实部im—频率响应虚部使用命令axis()改变坐标显示范围,例如axis([-1,1.5,-2,2])。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用李亚普诺夫第一法 a=[-8 -16 -6;1 0 0;0 1 0]; p=poly(a); roots(p) ans = -5.0861 -2.4280 -0.4859 或者用eig(a)命令,也可直接得出上述结果。 应用李亚普诺夫第二法 I=eye(3) ;P=lyap(a,I) P = 1.4590 -0.5000 -0.5287 -0.5000 0.5287 -0.5000 -0.5287 -0.5000 1.9549 再由det(P)求解各阶主子式即可判断系统稳定性
7
sys=ss(s) a= x1 x2 x1 -3 -0.5 x2 4 0 b= u1 x1 0.5 x2 0
x1 x2 0 0.5
3 已知下列系统矩阵,求系统约当型状态空间表达式。 a=[-3,-0.5; 4,0]; b=[0.5;0]; c=[0 0.5]; d=0; [As,Bs,Cs,Ds,P]=canon(a,b,c,d,'mod') As = -2 0 0 -1 Bs = -2.2361 -2.0616 Cs = 0.4472 -0.4851 Ds = 0 P = -4.4721 -1.1180 -4.1231 -2.0616 [A,B,C,D,P]=canon(a,b,c,d,'com') A = 0 -2 1 -3 B= 1 0 C= 0 1 D= 0 P = 2.0000 1.5000 0 0.5000
3
8
时域响应分析 Step(A,B,C,D),在输入端单独施加单位阶跃信号作用下的某一 输出响应,时间向量t的范围自动设定。
9
李亚普诺夫第一法 通过poly,roots和eig函数,得出线性定常系统的特征值,进而判断系
统稳定性。 10 李亚普诺夫方第二法 连续系统:P=lyap(A,Q) ,求解矩阵方程AP+PAT=-Q 其中:A为已知系统的状态矩阵;Q为给定的正定是对称矩阵; 返回变量P为李亚普诺夫方程的解(正定实对称矩阵)。 离散系统:P=dlyap(A,Q),可求解矩阵方程APAT-P=-Q
5
状态空间分析举例
1 已知某系统矩阵 A = ê A=[0 1;-2 -3]; [V,D]=eig(A)
1 ù é 0 求解该系统的特征值、特征向量。 - 2 - 3ú ë û
V=
0.7071 -0.4472 -0.7071 0.8944 D = -1 0 0 -2
ì é 0 1 ù é0ù
& X=ê ú X + ê1 ú u ,求传递函数。 2 已知某系统状态空间表达式为 ï í ë - 2 - 3û ë û ï y = [1 0]X î
A=[1 2 3;4 5 6;7 8 9]; B=[1 2;3 4;5 6]; C=[1 2 3]; D=[4 5]; Sys=ss(A,B,C,D) 2 求解矩阵的特征向量及特征值: [V,D]=eig(A)
1
3 状态方程与传递函数模型转换 [num,den]=ss2tf(A,B,C,D,iu),iu为输入代号,SISO系统为1 [A,B,C,D]=tf2ss(num,den) [A,B,C,D]=zp2ss(z,p,k) 或 SYS=ss(sys),可将任意LTI系统模型sys变换为状态空间模型SYS 4 状态方程的标准型转换 [As,Bs,Cs,Ds,P]=canon(A,B,C,D,’类型’)或 G1=canon(sys,’ 类型’) 类型: mod——对角标准型(重根时得不到标准Jordan型) com——可观测标准型(原系统不存在零极对消) P——线性非奇异变换矩阵
12
6
4
2
实验
11、可控可观性判断 可控性判断 可观性判断 可控性矩阵 S=ctrb(A,B) 求系统的秩 求系统的秩 12、SISO系统极点配置 K=acker(A,B,P) K=place(A,B,P) 13、状态观测器 H T=acker(AT,CT,P),H为状态观测器增益矩阵。 P为系统指定的闭环极点 P为系统指定的闭环极点 rank(S) rank(V) 可观测矩阵 V=obsv(A,C)
实验
基于MATLAB线性系统分析与综合实验
状态空间表达式
& ì x = Ax + Bu í î y = Cx +ù é1 2ù A = ê4 5 6ú B = ê3 4ú c = [1 2 3] ê ú ê ú ê 7 8 9ú ê 5 6ú ë û ë û
d = [4 5]
10
5
实验
7 Simulink 应用举例
ì é 0 ï & ïx = ê 0 ê í ê- 2 ï ë ï y = [1 0 î 0 ù é0ù ú x + ê0ú u 0 1 ú ê ú ê1ú - 2 - 3ú û ë û 0]x 1
11
练习1、设被控系统状态方程为
é0 1 0 ù é0ù & x = ê0 - 1 1 ú x + ê 0 ú u ê ú ê ú ê ê10ú ë0 - 1 10ú û ë û
9
g=1 1 0 1 h = 0.5000 1.0000
1 ù é 0 ú ,求状态转移矩阵。 ë - 2 - 3û
[ 2*exp(-2*t)-2*exp(-t), -exp(-t)+2*exp(-2*t)]
é - 8 - 16 - 6ù 6 已知线性定常系统状态方程为 x = ê 1 & 0 0 úx ê ú ê0 1 0ú ë û 判断系统稳定性。
可否用状态反馈任意配置闭环极点?求反馈阵,使闭环极点位于 -10,-1±j 3 ,画出状态变量图,并比较引入反馈前后的性能。 练习2、设被控系统动态方程为
é0 1 ù é0 ù & x=ê ú x + ê1 ú u ë0 0 û ë û
y = [1 0]x
1)分析系统的稳定情况;2)能否通过状态反馈是闭环极点配置在 (-2±j);3)绘制系统结构图观察状态响应;4)设计全维状态观测 器,使其极点位于-8;5)绘制状态变量图,并比较观测状态与实际 状态。
b=[0;1]; c=[1 0];d=0; [n,d]=ss2tf(A,b,c,d) s=tf(n,d) n= 0 d= 1 0.0000 3 2 1.0000
6
3
实验
3 已知上例传递函数,求系统状态空间表达式。 [A,B,C,D]=tf2ss(n,d) A= -3 -2 1 0 B= 1 0 C = 0.0000 1.0000 D= 0 c= y1 d= u1 y1 0
2
返回可控标准型形式
1
实验
5 控制系统模型的连续化与离散化 [G,H]=c2d(A,B,T), T为采样周期 [A,B]=d2c(G,H,T) 6 状态转移矩阵的求解 syms t %定义基本符号变量t eAt=expm(A*t) 7 状态方程的解析解 S=dsolve(‘eqn1’,’eqn2’,…) eqni 为输入参数,为描述常微分方程、初始条件及独立变量的 字符表达式,(D代表独立变量的导数)
8
4
实验
4 已知连续系统状态空间表达式,令采样周期T=1,求离散化形式。
é0 1 ù é 0ù x(t ) = ê ú x + ê1 ú u ë 0 0û ë û
a=[0 1;0 0]; b=[0;1]; [g,h]=c2d(a,b,1) 5 已知系统矩阵 A = ê syms t eAt=expm(a*t) eAt =[ 2*exp(-t)-exp(-2*t), exp(-t)-exp(-2*t)]
相关文档
最新文档