系统仿真技术实验指导书.docx
《系统仿真技术实验指导书.docx》由会员分享,可在线阅读,更多相关《系统仿真技术实验指导书.docx(36页珍藏版)》请在冰豆网上搜索。
系统仿真技术实验指导书
系统仿真技术
实验指导书
编制:
吕锋凌菱
河南科技大学机电工程学院
2008年元月
前言
系统仿真技术是工业工程专业的一门专业基础选修课,具有很强的实践性。
它以系统科学、计算机科学和概率论与数理统计为基础的综合性课程。
通过本课程的实验,使学生对系统,特别是生产系统的特点、建模和仿真以及应用有一个全面、深入的认识,并培养学生的实际动手能力和设计能力。
本课程实验注重学生能力的培养,以提高学生独立分析和解决实际问题的能力。
充分利用现代技术和教学理念,将教学实验用以下方式进行:
(1)理论分析;
(2)动手操作;(3)计算机仿真等。
本课程有两个实验项目:
Matlab仿真软件的基本应用;FLEXSIM仿真软件应用。
实验一应用仿真软件进行数值计算和数据可视化
一、实验目的
1、掌握MATLAB在线帮助功能的使用;
2、熟悉MATLAB运行环境和MATLAB语言的主要特点;
3、掌握MATLAB语言的基本语法规则及基本操作命令的使用;
4、学会M文件的建立和使用方法以及应用MATLAB实现二维和三维图形的绘制方法;
5、具有使用MATLAB语言编程和调试的能力。
二、主要仪器设备
1、计算机2、MATLAB软件3、打印机
三、实验内容
1、熟悉软件环境和基本的操作:
熟悉MATLAB运行环境,练习MATLAB常用命令
2、认识MATLAB矩阵与数值计算基础:
认识及应用MATLAB语言的在线帮助、基本语法规则及基本操作命令,学会在MATLAB中进行矩阵运算和数组运算。
3、二维三维的数据可视化:
初步了解M文件及其编写、调试与运行,使用M文件绘制基本的二维三维图形。
四、实验步骤
1、MATLAB运行环境
(一)MATLAB提供两种运行方式
(1)命令方式
直接在命令窗口输入命令来实现计算或作图功能
(2)M文件运行方式
单击FILE—NEW—M-FILE打开M文件输入运行界面,输入程序文件。
(具体又分为脚本文件和函数文件两种方式)。
该运行方式优点是可以调试也可以重复使用。
(二)MATLAB中的窗口简介
(1)命令窗口(CommandWindow)
a.启动MATLAB命令窗口
•双击MATLAB图标,就可进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。
b.MATLAB语句形式
》变量=表达式;
•键入回车键时,该语句被执行。
窗口自动显示出语句执行的结果。
如果希望结果不被显示,则只要在语句之后加上一个分号“;”
Ø方向键和控制键可以编辑修改已输入的命令
回调上一行命令回调下一行命令
Ø命令窗口的分页输出
•moreoff:
不允许分页;moreon:
允许分页;more(n):
指定每页输出的行数
•回车前进一行,空格键显示下一页,q结束当前显示。
Ø多行命令(…)
•如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。
如:
》S=1-12+13+4+…
9-4-18;
(2)M文件窗口(3)起始面板(LaunchPad)(4)工作空间窗口(Workspace)
(5)命令历史窗口(CommandHistory)(6)当前目录窗口(CurrentDirectory)
(7)图形窗口(FigureNo…)(8)GUI制作窗口
图1-1MATLAB中的窗口
2、MATLAB常用命令
表1-1MATLAB中常用数学函数
表1-2MATLAB中常用标点的功能
表1-3MATLAB指令窗的常用控制指令
3、认识MATLAB矩阵与数值计算基础
(1)矩阵的直接排列输入
例:
>>A=[123;456;789]
注:
矩阵用方括号“[]”括起;矩阵同一行中的元素之间用空格或逗号分隔;矩阵行与行之间用分号分开;直接输入法中,分号可以用回车代替。
(2)矩阵元素赋值
矩阵元素可以是任何数值表达式。
例:
>>x=[-1.3,sqrt(3),(1+2+3)*4/5]
●矩阵元素的单独赋值
例:
>>x(5)=abs(x
(1))
注:
Matlab自动将向量x的长度扩展到5,并将未赋值部分置零。
例:
>>x(5)=abs(x(6))?
?
●大矩阵可以把小矩阵作为其元素
例:
>>A=[A;111213]
在原矩阵的下方加一行
(3)矩阵元素的引用
●单个元素的引用
例:
>>A(2,3)
利用小括弧和元素所在的位置(下标)
x(i):
向量x中的第i个元素
A(i,j):
矩阵A中的第i行,第j列元素
●多个元素的引用:
冒号的特殊用法
a:
b:
c
产生一个由等差序列组成的向量;a是首项,b是公差,c确定最后一项;若b=1,则b可以省略。
例:
>>x=1:
2:
5
>>y=1:
2:
6
例:
>>x=2:
1:
5
>>y=2:
5
例:
>>x=3:
2:
1
例:
>>x(1:
3)
>>A(3,1:
3)
A(i:
j,m:
n)表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。
可利用冒号提取矩阵的整行或整列。
例:
>>A(1,:
)
>>A(:
1:
2)
>>A(:
:
)
注:
冒号的作用
●提取矩阵的部分元素:
冒号运算符
A(:
)A的所有元素
A(:
:
)二维矩阵A的所有元素
A(:
k)A的第k列,A(k,:
)A的第k行
A(k:
m)A的第k到第m个元素
A(:
k:
m)A的第k到第m列组成的子矩阵
(4)常见的矩阵生成函数
可利用Matlab自带函数来生成一些特殊的矩阵
例:
>>C=magic(3)
表1-4常见的矩阵生成函数
zeros(m,n)
生成一个m行n列的零矩阵,m=n时可简写为zeros(n)
ones(m,n)
生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)
eye(m,n)
生成一个主对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵
diag(X)
X为矩阵时,diag(X)为X的主对角线向量;X是向量时,diag(X)产生以X为主对角线的对角矩阵
rand(m,n)
产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)
(5)矩阵的转置
’共轭转置
.’转置,矩阵元素不取共轭
注:
点与单引号之间不能有空格!
例:
>>A=[12;2i3i]
>>B=A’
>>C=A.’
(6)改变矩阵的形状:
reshape
reshape(A,m,n)
功能:
将原矩阵按列方向进行排列成一个m×n的新矩阵
注:
重组后得到的新矩阵的元素个数必须与原矩阵元素个数相等!
(7)矩阵的加减:
对应分量进行运算
注:
要求参与加减运算的矩阵具有相同的维数
例:
>>A=[123;456];B=[321;654]
>>C=A+B;D=A-B;
(8)矩阵的普通乘法
注:
要求参与运算的矩阵满足线性代数中矩阵相乘的原则
例:
>>A=[123;456];B=[21;34];
>>C=A*B
(9)矩阵的除法:
/、\右除和左除
若A可逆方阵,则
B/A<==>A的逆右乘B<==>B*inv(A)
A\B<==>A的逆左乘B<==>inv(A)*B
(10)矩阵的乘方(幂):
^
若A是方阵,p是正整数,则
A^p表示A的p次幂,即p个A相乘。
(11)矩阵的数组运算
❑数组运算:
对应元素进行运算
❑数组运算包括:
点乘、点除、点幂
相应的数组运算符为:
.*,./,.\,.^
注:
点与算术运算符之间不能有空格!
例:
>>A=[123;456];B=[321;654];
>>C=A.*B;D=A./B;E=A.\B;F=A.^B;
注:
参与运算的对象必须具有相同的形状!
(12)求线性方程组的唯一解或特解
方程:
AX=b
解法:
X=A\b
例求方程组的解。
•解:
在Matlab编辑器中建立M文件:
•A=[56000
•15600
•01560
•00156
•00015];
•B=[10001]';
•R_A=rank(A)%求秩
•X=A\B%求解
•运行后结果如下:
•R_A=
•5
•X=
•2.2662
•-1.7218
•1.0571
•-0.5940
•0.3188
•这就是方程组的解。
3、二维三维的数据可视化实验步骤
(一)二维绘图
●plot——最基本的二维图形指令
(1)plot的功能:
plot命令自动打开一个图形窗口Figure;用直线连接相邻两数据点来绘制图形;根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示。
(2)plot的调用格式
plot(x)——缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图
plot(x,y)——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线
plot(x1,y1,x2,y2)——多条曲线绘图格式
plot(x,y,’s’)——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。
或plot(x1,y1,’s1’,x2,y2,’s2’,…)
S的标准设定值如下:
字母颜色标点线型
y黄色·点线
m粉红○圈线
c亮蓝××线
r大红++字线
g绿色-实线
b蓝色星形线
w白色:
虚线
k黑色-·(--)点划线
1.单窗口单曲线绘图
例:
x=[0,0.48,0.84,1,0.91,0.6,0.14]
plot(x)
图1-2
2.单窗口多曲线绘图
例:
t=0:
pi/100:
2*pi;
y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);
plot(t,y,t,y1,t,y2)
图1-3
3.图形加注功能
将标题、坐标轴标记、网格线及文字注
释加注到图形上,这些函数为:
title——给图形加标题
xlable——给x轴加标注
ylable——给y轴加标注
text——在图形指定位置加标注
gtext——将标注加到图形任意位置
gridon(off)——打开、关闭坐标网格线
legend——添加图例
axis——控制坐标轴的刻度
例:
t=0:
0.1:
10
y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');
x=[1.7*pi;1.6*pi];
y=[-0.3;0.8];
s=['sin(t)';'cos(t)'];
text(x,y,s);
title('正弦和余弦曲线');
legend('正弦','余弦')
xlabel('时间t'),ylabel('正弦、余弦')
grid
axissquare
图1-4
图1-5
(二)三维绘图
•plot3——基本的三维图形指令
调用格式:
plot3(x,y,z)——x,y,z是长度相同的向量
plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵
plot3(x,y,z,s)——带开关量
plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)
•二维图形的所有基本特性对三维图形全都适用。
定义三维坐标轴
•大小
axis([xminxmaxyminymaxzminzmax])
•gridon(off)绘制三维网格
•text(x,y,z,‘string’)三维图形标注
•子图和多窗口也可以用到三维图形中
例:
绘制三维线图
t=0:
pi/50:
10*pi;plot3(t,sin(t),cos(t),'r:
')
图1-6
4、典型实例演示
【例】画出衰减振荡曲线
及其它的包络
。
t的取值范围是
。
t=0:
pi/50:
4*pi;%定义自变量取值数组
y0=exp(-t/3);%计算与自变量相应的y0数组
y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组
plot(t,y,'-r',t,y0,':
b',t,-y0,':
b')%用不同颜色、线型绘制曲线
grid%在“坐标纸”画小方格
图1-7衰减振荡曲线与包络
【例】画出所表示的三维曲面。
[x,y]的取值范围是[-8,8]。
clear;x=-8:
0.5:
8;%定义自变量x的一维刻度向量
y=x';%定义自变量y的一维刻度向量
X=ones(size(y))*x;%计算自变量平面上取值点坐标的二维数组
Y=y*ones(size(x))%计算自变量平面上取值点坐标的二维数组
R=sqrt(X.^2+Y.^2)+eps;%计算中间变量
Z=sin(R)./R;%计算与自变量二维数组相应的函数值
mesh(Z);%绘制三维网格图
图1-8三维网线图
五、实验报告格式
实验报告一:
应用仿真软件进行数值计算和数据可视化
一、实验目的
二、实验设备和仪器
三、实验内容
1、常见数学函数的释义:
描述下列函数的数学计算功能
函数名
数学计算功能
函数名
数学计算功能
abs(x)
gcd(m,n)
acos(x)
imag(x)
conj(x)
lcm(m,n)
cos(x)
log(x)
cosh(x)
real(x)
exp(x)
round(x)
sqrt(x)
sign(x)
2、矩阵乘法的实现:
计算Z=X*Y,其中
,
。
3、二维三维的数据可视化:
编制程序并画出衰减振荡曲线
及其包络线
。
t的取值范围是[0,4]。
四、思考题
1、通过本实验,你对Matlab软件有怎样的认识?
2、你了解到Matlab软件在生产系统何领域有所应用?
实验二应用仿真软件建模2学时
一、实验目的
1、熟悉Flexsim运行环境和主要特点;
2、熟悉Flexsim仿真软件基本操作;
3、应用Flexsim仿真软件建模。
二、主要仪器设备
1、计算机2、Flexsim仿真软件
三、实验内容
1、Flexsim仿真软件基本操作;
2、应用Flexsim仿真软件建模。
四、实验步骤
步骤1.构建模型布局
将仿真所需要的对象模型从对象库中拖拽到仿真视图窗口中的适当位置
图2-1模型布局图
步骤2.定义物流流程
根据连接类型,按下“a”或“s”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者
图2-2
•连接两个对象端口所需按键
–“a”键
•用来将对象1的输出端口连接到对象2的输入端口上
–“q”键
•用来取消对象1的输出端口与对象2的输入端口之间的连接
–“s”键
•用来连接对象1与对象2的中心端口
–“w”键
•用来取消对象1与对象2的中心端口的连接
•各类端口连接的显示位置
–输出端口显示在对象的右上角
–输入端口显示在对象的左上角
–中心端口显示在对象底部中心
图2-3
•察看对象的端口连接
–对象属性窗口General选项卡
–可调整端口的编号顺序
图2-4
步骤3.编辑对象参数
•双击对象可以打开对象的参数对话框
图2-5
•点击对象窗口左下角“Properties”按钮可调出对象属性对话框
•对象属性对话框中包括
–图形(Visual)
–常规(General)
–标签(Labels)
–统计(Statistics)
图2-6
步骤4.编译运行仿真
•编译模型
•重置模型
•控制动画速度
•运行仿真
图2-7
步骤5.分析仿真结果
•仿真之前通过菜单Stats/StatsCollecting选择统计对象
•仿真时在对象属性对话框Statistics选项卡中可实时察看相应对象的统计数据和图表
•点击Stats下的StandardReport或StateReport可生成标准统计报告和状态统计报告
图2-8
五、实验报告格式
实验报告二:
应用仿真软件建模
一、实验目的
二、实验设备和仪器
三、实验的详细步骤
四、思考题
1.列举你所知道的仿真软件(不少于5种)?
2.FLEXSIM仿真软件与其它仿真软件相比的显著特点?
实验三应用仿真软件仿真生产系统3学时
一、实验目的
1、熟悉生产线的相关知识;
2、能够将实际系统抽象,建立模型,运用仿真软件仿真实际的生产系统。
二、主要仪器设备
1、计算机2、Flexsim仿真软件3、打印机
三、实验原理
生产线同时生产三种产品,然后被送到监测车间的缓存区。
检测车间有三台监测系统分别对这三种产品进行检测后,通过各自的传送带将产品运输出去。
图3-1生产线流程图
其中:
•产品到达检测车间的时间服从均值为20,方差为2的正态分布
•到达检测车间的产品类别(1,2,3)服从均匀分布
•缓存区容量为25件产品
•传送带传输速度为1m/s
四、实验内容
(1)应用FLEXSIM物流仿真软件建立如下生产系统的三维布置模型:
有一家生产三种成品的厂房,生产之后需要对产品进行检验,已知被检验的三种产品在三条不同的生产线,而且有三种不同的产品以正态分布的方式到达,当产品到达时会被放置在一个存放区等待检测,第一个检测中心对产品一,第二个检测中心对产品二,第三个检测中心对产品三,分别进行检测,检测之后由输送带运送至厂房门口。
(2)应用FLEXSIM物流仿真软件建立系统模型,并模拟运行。
(3)根据系统模拟运行结果获得相关统计信息。
(4)改变模型的参数(或增加模型的部件)再运行。
五、实验步骤
1、应用Flexsim仿真软件仿真
步骤1:
构建模型布局
从对象库中拖放所需的对象到建模视图中
图3-1
步骤2.定义物流流程
•按住A键,同时用鼠标左键点击Source对象并且按住鼠标左键不放,然后拖动鼠标至Queue对象。
此时会出现一条黄线连接Source和Queue对象。
然后松开鼠标左键,黄线将变成一条黑线,表示Source对象和Queue对象的端口已经连接上。
•如上所述,分别连接Queue到Processor,Processor到Conveyor,以及Conveyor到
Sink的连线。
图3-2
步骤3.编辑对象参数
(1)定义产品的流出
双击Source对象,打开其参数对话框
图3-3
•从Inter-Arrivaltime下拉框中选择NormalDistribution
图3-4
(2)修改产品流出间隔时间
•修改选项的默认参数
–点击Template按钮
–修改其中的棕褐色的参数值:
将10改为20
图3-5
(3)指派产品不同的型号和颜色
•选择SourceTriggers选项卡,在OnCreation下拉框中选择SetItemtypeandColor来改变产品类型和颜色
•
•
•
图3-6
•选中选项后,点击Template按钮,确定参数如图所示后,点击Apply和Ok按钮,
•关闭Source对象的参数对话框。
图3-7
•双击Queue,其参数对话框将会出现
•将MaximumContent对应值改为25.点击Apply确认
图3-8
(4)设置缓存区产品流选项
•转到Flow选项卡,在“Output”框中,选择“SendToPort”下拉框中的“ByItemtype(direct)”选项
•依次点击Apply和OK按钮,关闭Queue对象的参数对话框
图3-9
(5)设置检测设备检测时间
•双击第一个Processor对象
•在参数对话框“ProcessTime”下拉框中选择“ExponentialDistribution”选项
•将参数由默认值10改为30
•同样设置其他两个Processor对象
图3-10
步骤4.编译运行仿真
步骤5.观察仿真结果
现在模型视图处于由上到下的垂直投影图中,该投影图在建模时经常使用,若
在模型显示方面经常使用透视图。
选择工具栏中的Persp
按钮可打开一个新的透视图
图3-11
(1)统计信息的查看与显示
•打开已保存的例1的模型文件
•另存为Example2.fsm
图3-12
•按住Ctrl键,选中三个Processor对象,这时候所选中的对象外面出现一红色方框
图3-13
•点击主窗口菜单Stats/StatsCollecting/SelectedObjectsOn选择所选中对象为统计对象
•进行统计的对象外面出现绿色方框
•按住Shift键点击模型视图的空白区域,可取消所有对象的选定(红色方框)
图3-14
(2)添加Recorder对象
拖放3个Recorder对象至建模视图中
图3-15
(3)修改Recorder对象视图参数
•打开透视图
•依次打开Recorder的属性对话框,修改Visual选项卡中的Z为8,SX,SY均修改为6,SX修改为90,并视情况调整
图3-16
(4)修改Recorder对象图示参数
•双击第一个Recorder对象,打开参数对话框
•点击按钮“DataCaptureSettings”,修改
–TypeofData为StandardData
–ObjectName为Processor1
–Datatocapture为Staytime
•点击“Next”按钮返回到Recorder对象的参数对话框
–
–
–
–
–
图3-17
(5)修改Recorder对象表头
•点击“DisplayOptions”按钮
•