线性系统的多种建模和仿真方法.docx
- 文档编号:24959232
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:14
- 大小:311.54KB
线性系统的多种建模和仿真方法.docx
《线性系统的多种建模和仿真方法.docx》由会员分享,可在线阅读,更多相关《线性系统的多种建模和仿真方法.docx(14页珍藏版)》请在冰豆网上搜索。
线性系统的多种建模和仿真方法
实验三
题目:
线性系统的多种建模和仿真方法
实验目的:
通过MATLAB和SIMULINK中的多种建模和仿真方法构建线性系统,
了解系统建模的灵活性,锻炼创造性建模的思维和能力。
实验要求:
对一个电路线性系统进行数学分析并建模,用MATLAB编程,传递函
数的建模,信号流图的建模,状态方程的建模以及S函数的建模等等多种建模和仿真方法来仿真系统,对各种建模和仿真结果进行对比。
实验内容:
(1)线性代数方程组的SIMULINK求解
任务:
求解方程组:
首先根据方程画出信号流程:
学习利用反馈支路建立等式的方法。
方框图其实就是方程的另外一种表示。
当然,可以将方程化简以后再建立信号流程。
这里故意演示复杂方程的建模流程。
由于方程是代数方程,所以建模模型中含有代数环,simulink仿真时会出现告警。
但不影响结果的正确性。
IC模块用来设置初解,可不用。
建模例如:
运行求解得出:
V1=10V
V2=6V
(2)线性微分方程组的求解
任务:
求解微分方程组:
由此画出求解信号流图:
请对该信号流图建立SIMULINK模型,并进行封装,使得能够通过对话框输入R,L,C参数。
要求仿真得出R=1欧,L=1亨利,C=0.01法拉时电容电压Uc的阶跃响应波形。
(3)求出
(2)所给出的方程所决定的输出为电容电压Uc的传递函数,通过simulink中的
传递函数模块,求R=1欧,L=1亨利,C=0.01法拉时电容电压Uc的阶跃响应波形。
并与
(2)
中的结果作对比。
(4)求出
(2)所给出的方程的状态矩阵A,B,C,D,通过simulink中的状态方程模块,求
R=1欧,L=1亨利,C=0.01法拉时电容电压Uc的阶跃响应波形。
并与
(2)中的结果作对比。
得到
(5)用simulink中的S函数模板编写对应于(4)状态矩阵A,B,C,D的S函数,并通过S函数模块求R=1欧,L=1亨利,C=0.01法拉时电容电压Uc的阶跃响应波形。
并与(4)中的结果作对比。
S函数代码如下:
function[sys,x0,str,ts]=statefun(t,x,u,flag,R,L,C)
A=[-R/L,-1/L;1/C,0];
B=[1/L;0];
C=[0,1];
D=0;
switchflag,
case0,
[sys,x0,str,ts]=mdlInitializeSizes;
case1,
sys=mdlDerivatives(t,x,u,A,B,C,D);
case3,
sys=mdlOutputs(t,x,u,A,B,C,D);
case{2,4,9}
sys=[];
otherwise
error('Simulink:
blocks:
unhandledFlag',num2str(flag));
end
function[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates=2;
sizes.NumDiscStates=0;
sizes.NumOutputs=1;
sizes.NumInputs=1;
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;%atleastonesampletimeisneeded
sys=simsizes(sizes);
%initializetheinitialconditions
x0=[0;0];
%strisalwaysanemptymatrix
str=[];
%initializethearrayofsampletimes
ts=[00];
functionsys=mdlDerivatives(t,x,u,A,B,C,D)
sys=A*x+B*u;
functionsys=mdlOutputs(t,x,u,A,B,C,D)
sys=C*x;
(6)对(5)中的模型进行封装,使得同
(2)中得出的模型有相同的封装,对用户提供相
同的接口。
1.(60分)对实验步骤
(1)~(6)的建模、实验参数设置、实验中碰到的问题和解决方法以及波形结果对比等作详细描述。
2.完成思考题。
(30分)
3.实验报告请在实验完成后一周内提交。
(10分)
思考题:
1.(20分)比较实验步骤
(1)~(6)的建模方法,用你自己的建模感受说明这些建模方法各自的特点。
答:
子系统封装的特点是安全、稳定,不易受外界因素影响;未封装的建模方式的特点是简单、直接、清晰、明了。
2.(10分)叙述SIMULINK仿真调用S函数的过程。
答:
调用S函数的过程需经历三个阶段:
初始化阶段、仿真执行阶段、仿真终止阶段。
初始化阶段:
首先初始化一个包含S函数信息的Simulink结构变量,然后设置输入和输出端口的数量和大小,并设置模块的采样时间、分配存储空间以及估计数组大小等。
仿真执行阶段:
调用模块对应的S函数,对S函数进行仿真。
仿真终止阶段:
通过调用S函数中的mdlTerminate来执行一些必要的任务,最后结束仿真。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性 系统 多种 建模 仿真 方法