系统工程仿真实验报告
姓名:_蒋智颖_ 学号:_110061047_ 成绩:___________
实验一:基于VENSIM的系统动力学仿真
一、实验目的
VENSIM是一个建模工具,可以建立动态系统的概念化的,文档化的仿真、分析和优化模型。PLE(个人学习版)是VENSIM的缩减版,主要用来简单化学习动态系统,提供了一种简单富有弹性的方法从常规的循环或储存过程和流程图建立模型。本实验就是运用VENSIM进行系统动力学仿真,进一步加深对系统动力学仿真的理解。
二、实验软件
VENSIM PLE
三、原理
1、在VENSIM中建立系统动力学流图;
2、写出相应的DYNAMO方程;
3、仿真出系统中水准变量随时间的响应趋势;
四、实验内容及要求
某城市国营和集体服务网点的规模可用SD来研究。现给出描述该问题的DYNAMO方程及其变量说明。
L S·K=S·J+DT*NS·JK
N S=90
R NS·KL=SD·K*P·K/(LENGTH-TIME·K)
A SD·K=SE-SP·K
C SE=2
A SP·K=SR·K/P·K
A SR·K=SX+S·K
C SX=60
L P·K=P·J+DT*NP·JK
N P=100
R NP·KL=I*P·K
C I=0.02
其中:LENGTH为仿真终止时间、TIME为当前仿真时刻,均为仿真控制变量;S为个体服务网点数(个)、NS为年新增个体服务网点数(个/年)、SD为实际千人均服务网点与期望差(个/千人)、SE为期望的千人均网点数、SP为的千人均网点数(个/千人)、SX为非个体服务网点数(个)、SR为该城市实际拥有的服务网点数(个)、P为城市人口数(千人)、NP为年新增人口数(千人/年)、I为人口的年自然增长率。
要求:在VENSIM中建立相应的系统动力学流图和DYNAMO方程,进行仿真。
五、实验结果
1、请将VENSIM中建立的系统动力学流图拷贝如下:
2、画出系统中水准变量随时间的响应趋势。
实验二:基于EXCEL的随机存储系统仿真
一、实验目的
理解构建仿真模型的步骤;学习利用Excel中的RAND函数产生随机数,利用VLOOKUP函数找出对应的需求;熟悉应用仿真模型解决库存管理问题;了解利用Excel软件进行仿真的优缺点。
二、实验软件
MICROSOFT Excel
三、实验内容及要求
马克是一家五金商店的店主,他想为电钻制定一种优良的低成本的存货策略。电钻的日需求相对比较低,但同时也比较容易受到变动的影响。在过去的300天里,马克观察到的销售量如表所示。
表1 电钻日需求的概率和随机数区间
当马克通过订货来补充存货时,货物的发送往往会有1-3天的延时。以往接受50笔订单所耗费的天数如表2所示。如果订货提前期为1天,货物是在第二天晚间送达。
表2 再订货的订货提前期概率和随机数区间
马克想要模拟的第一种存货策略是订货量为10,再订货点为5,且考虑在途货物数量,上一订单未到货时不连续订货。假设期初的库存量为10台。电钻的每笔订货成本为10美元,存储电钻每台每天5美分,缺货成本每次6美元。将仿真过程填写在表3中,并计算该存货策略的总成本。
表3 五金商店存货仿真
四、实验步骤
1、定义问题。
2、定义可控和不可控的输入变量。可控变量为订货点和订货量,不可控变量为日需求和订货提前期。
3、建立仿真模型。
4、实现仿真。假设期初的库存量为10台,订货量为10台,再订货点为5台,利用Excel RAND()函数生成随机数,将仿真过程记录于表3中。
5、检验结果。对30天的期间进行仿真,计算订货成本、储存成本、缺货成本以及总的库存成本,并给出更好的订货策略建议。
五、实验结果
1、参数设置的截图:
2、请将仿真界面的截图拷贝如下:
3、更好的订货策略建议。
适当提高订货量。因为缺货成本远大于储存成本,提高订货量所增加的储存成本小于缺货成本的减小量,从而减少总成本。
第二篇:信号与系统仿真实验报告8
上机实验8:离散系统的Z域分析
验证试验
1_1
%信号Z变换
syms n;
f1=3^n;
f1_z=ztrans(f1);
f2=cos(2*n);
f2_z=ztrans(f2);
%%%%%%%%%%%%以下为运行结果
% >> f1_z
%
% f1_z =
%
% 1/3*z/(1/3*z-1)
%
%
% >> f2_z
%
% f2_z =
%
% (z+1-2*cos(1)^2)*z/(1+2*z+z^2-4*z*cos(1)^2)
%
%
% >>
1_2
%求零状态响应
clear all;clc;
syms k z;
f=(-1)^k;
f_z=ztrans(f);
h=1/3*(-1)^k+2/3*3^k;
h_z=ztrans(h);
yf_z=f_z*h_z;
yf=iztrans(yf_z);
%%%%%%%%%%以下为运行结果
% >> yf
%
% yf =
%
% 1/2*(-1)^n+1/3*(-1)^n*n+1/2*3^n
%
%
% >>
1_2_2
clear all;clc;
num=[0 1];
den=poly([-5,1,1]);
[r p k]=residuez(num,den);
%%%%%%%%%%%%%%%以下为运行结果
% >> r
%
% r =
%
% -0.1389
% -0.0278 - 0.0000i
% 0.1667 + 0.0000i
%
% >> p
%
% p =
%
% -5.0000
% 1.0000 + 0.0000i
% 1.0000 - 0.0000i
%
% >> k
%
% k =
%
% []
%
% >>
1_3_1
%求系统函数H(z)
clear all;clc;
num=[1 0 -1];
den=[1 0 -0.81];
printsys(fliplr(num),fliplr(den),'1/z');
%%%%%%%%%%%%%%%以下为运行结果
% num/den =
%
% -1 1/z^2 + 1
% ---------------
% -0.81 1/z^2 + 1
% >>
1_3_2
clear all;clc;
num=[1 0 -1];
den=[1 0 -0.81];
subplot(2,2,1);dimpulse(num,den,40);ylabel('脉冲响应');
subplot(2,2,2);dstep(num,den,40);ylabel('阶跃响应');
[h,w]=freqz(num,den,1000,'whole');
subplot(2,2,3);plot(w/pi,abs(h));ylabel('幅频');xlabel('\omega/\pi');
subplot(2,2,4);plot(w/pi,angle(h));ylabel('相频');xlabel('\omega/\pi');
1_4
clear all;clc;
b=[1 2 1];
a=[1 -0.5 -0.005 0.3];
subplot(3,1,1);zplane(b,a);num=[0 1 2 1];den=[1 -0.5 -0.005 0.3];h=impz(num,den);
subplot(3,1,2);stem(h);xlabel('k');ylabel('h(k)');
[H,w]=freqz(num,den);
subplot(3,1,3);
plot(w/pi,abs(H));xlabel('/omega');ylabel('abs(H)');
1_5
clear all;clc;
num=[1 -0.1 -0.3 -0.3 -0.2];
den=[1 0.1 0.2 0.2 0.5];
[z,p,k]=tf2zp(num,den);
m=abs(p);disp('零点');disp(z);disp('极点');disp(p);disp('增益系数');disp(k);
sos=zp2sos(z,p,k);disp('二阶节');disp(real(sos));
zplane(num,den);
%%%%%%%%%%%%%%%%%%以下为运行结果
% 零点
% 0.9615
% -0.5730
% -0.1443 + 0.5850i
% -0.1443 - 0.5850i
%
% 极点
% 0.5276 + 0.6997i
% 0.5276 - 0.6997i
% -0.5776 + 0.5635i
% -0.5776 - 0.5635i
%
% 增益系数
% 1
%
% 二阶节
% 1.0000 -0.3885 -0.5509 1.0000 1.1552 0.6511
% 1.0000 0.2885 0.3630 1.0000 -1.0552 0.7679
%
% >>
设计实验
1_2
clear all;clc;
syms k;
f1=((0.4).^k)*Heaviside(k);
f2=cos(2*k)*Heaviside(k);
f3=(k-1)*Heaviside(k);
f4=((-1).^k)*k*Heaviside(k);
f1_z=ztrans(f1);
f2_z=ztrans(f2);
f3_z=ztrans(f3);
f4_z=ztrans(f4);
%%%%%%%%%%%%%%%%%%%%%%%%以下为运行结果
% >> f1_z
%
% f1_z =
%
% 5/2*z/(5/2*z-1)
%
%
% >> f2_z
%
% f2_z =
%
% (z+1-2*cos(1)^2)*z/(1+2*z+z^2-4*z*cos(1)^2)
%
%
% >> f3_z
%
% f3_z =
%
% z/(z-1)^2-z/(z-1)
%
%
% >> f4_z
%
% f4_z =
%
% -z/(-z-1)^2
%
%
% >>
1_4
clear all;clc;
syms z k;
F1=(3*z+1)/(z+2);
F2=(z^2)/(z^2+3*z+2);
F3=1/(z^2+1);
F4=(z^2+z+1)/(z^2+z-2);
f1=iztrans(F1,k);
f2=iztrans(F2,k);
f3=iztrans(F3,k);
f4=iztrans(F4,k);
%%%%%%%%%%%以下为运行结果
% >> f1
%
% f1 =
%
% 1/2*charfcn[0](k)+5/2*(-2)^k
%
%
% >> f2
%
% f2 =
%
% 2*(-2)^k-(-1)^k
%
%
% >> f3
%
% f3 =
%
% 0
%
%
% >> f4
%
% f4 =
%
% -1/2*charfcn[0](k)+1/2*(-2)^k+1
%
%
% >>