- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
序号
学号
姓名
贡献排名
实验报告分数
1(组长):
1302120
1
2(组员):
130212
2
实验项目
线性系统状态空间分析与运动解
【实验时间】2015年11月12日
【实验地点】课外(宿舍)
【实验目的】
1、学会利用MATLAB实现离散系统传递函数模型的生成
2、学会利用MATLAB将连续系统离散化
【实验设备与软件】
1、MATLAB/Simulink数值分析软件
2、计算机一台
【实验原理】
1、求矩阵特征值和特征向量命令格式[V J]=eig(A)
Cv=eig(A)
说明:V特征向量,J是Jordan型,cv是特征值列向量
2、求运动的方法
(1)利用Laplace逆变换----适合于连续/离散线性系统
采用ilaplace/iztrans对传递函数求逆,这种方法一般是零输入情况下求响应。
(2)用连续(离散)状态转移矩阵表示系统解析解----适合于线性定常系统
对连续定常系统有:
假设初始时刻为零,LTI系统的解析解为。若u(t)是单位阶跃输入,则上述解可写成。进一步简化为:
对离散线性定常系统有:
(3)状态方程的数值分析方法----适合于连续线性系统和非线性系统
采用直接数值积分很容易的处理各种定常/时变和线性/非线性系统。有很多数值积分方法,其中有一类预测-修正数值积分方法+自适应步长调整的算法比较有效。在MATLAB/Simulink中包含的多种有效的、适用于不同类型的ODE求解算法,典型的是Runge-Ktuta算法,其通常使用如下的函数格式:
[t,x]=ode45(odefun,[ti,tf],x0,options)----采用四阶、五阶Runge-Ktuta算法
[t,x]=ode23(odefun,[ti,tf],x0,options)----采用二阶、三阶Runge-Ktuta算法
说明:a.这两个函数是求解非刚性常微分方程的函数。
b.参数options为积分的误差设置,取值为相对误差‘reltol’和绝对误差‘abstol’;[ti,tf]求解的时间范围;x0是初值是初值向量;[t,x]是解。
(4)利用CotrolToolBox的离散化求解函数----适合于TLI系统
用step()/impulse()函数求取阶跃输入/冲激输入时系统的状态响应:
当系统G是连续的情况下:
调用[y,t,x]=step/impulse(G )会自动对连续系统G选取采样时间范围和周期;
调用[y,t,x]=step/impulse(G ,ti:Ts:tf)由用户自己定义对连续系统G的样时间范围和周期;
当系统G是离散的情况下:
调用[y,t,x]=step/impulse(G )会按离散系统G给出的采样周期计算;
调用[y,t,x]=step/impulse(G ,ti:Ts:tf)是Ts必须与离散系统G的采样时间范围和周期一致。
另外lsim()函数调用格式:[y,x,t]=lsim(G,u,ti,TS,tf,x0)
零输入响应调用函数initial(),格式:[y,x,t]=(G,x0)
(5)利用simulink环境求取响应----适用于所有系统求取响应
使用simulink求取线性或非线性系统的响应,调用格式如下:
[t,x,y]=sim(‘XX.mdl’,ti:Ts:tf,options,u)
【实验内容】
已知线性系统:
已知线性系统
1、利用Matlab求零状态下的阶跃响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
状态响应曲线:
A=[-21 19 -20;19 -21 20;40 -40 -40];
B=[0;1;2];
C=[1 0 2];
D=[0]; %输入状态空间模型各矩阵,若没有相应值,可赋空矩阵
X0=[0;0;0]; % 输入初始状态
sys=ss(A,B,C,D); %构造传递函数
[y,x,t]=step(sys); % 绘以时间为横坐标的状态响应曲线图
plot(t,x);
grid;
title(状态响应曲线)
输出响应程序:
A=[-21 19 -20;19 -21 20;40 -40 -40]; B=[0;1;2];
C=[1 0 2];
D=0;
X0=[0;0;0]
[num,den]=ss2tf(A,B,C,D,1); sys=tf(num,den);
step(sys)
grid
title(输出响应曲线)
图一(状态响应曲线)
图二(输出响应曲线)
2、利用Matlab求零状态下的冲激响应(包括状态和输出),生成两幅图:第一幅绘制各状态响应曲线并标注;第二幅绘制输出响应曲线。
状态响应曲线程序:
A=[-21 19 -20;19 -21 20;40 -
文档评论(0)