matlab数学实验作出迭代图,基于MATLAB的数学实验.ppt

[3] 模拟框图 初始化:令i=1,ei-1=0,w=0 产生间隔时间随机数xi~参数为0.1的指数分布 ci=xi , bi=xi 产生服务时间随机数yi~[4,15]的均匀分布 ei=bi+yi 累计等待时间:w=w+bi-ci 准备下一次服务:i=i+1 产生间隔时间随机数xi~参数为0.1的指数分布 ci=ci-1+ xi 确定开始服务时间:bi=max(ci,ei-1) bi>480? Y N i=i-1,t=w/i 输出结果:完成服务个数:m=i 平均等待时间:t 停止 返回 clear i=2; w=0; x(i)=exprnd(10); c(i)=x(i); b(i)=x(i); while b(i)<=480 y(i)=unifrnd(4,15); e(i)=b(i)+y(i); w=w+b(i)-c(i); i=i+1; x(i)=exprnd(10); c(i)=c(i-1)+x(i); b(i)=max(c(i),e(i-1)); end i=i-2; t=w/i; m=i 模拟一日 Clear,cs=100; for j=1:cs j w(j)=0; i=2; x(i)=exprnd(10); c(i)=x(i); b(i)=x(i); while b(i)<=480 y(i)=unifrnd(4,15); e(i)=b(i)+y(i); w(j)=w(j)+b(i)-c(i); i=i+1; x(i)=exprnd(10); c(i)=c(i-1)+x(i); b(i)=max(c(i),e(i-1)); end i=i-2; t(j)=w(j)/i; m(j)=i; end pt=0; pm=0; for j=1:cs pt=pt+t(j); pm=pm+m(j); end pt=pt/cs, pm=pm/cs 模拟100日 用蒙特卡洛法解非线性规划问题 基本假设 试验点的第j个分量xj服从[aj ,bj]内的均匀分布. 符号假设 求解过程 先产生一个随机数作为初始试验点,以后则将上一个试验点的第j个分量随机产生,其它分量不变而产生一新的试验点.这样,每产生一个新试验点只需一个新的随机数分量.当K>MAXK或P>MAXP时停止迭代. 框 图 初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数 xj=aj+R(bj-aj) j=1,2,…,n j=0 j=j+1,p=p+1 P>MAXP? Y N xj=aj+R(bj-aj) gi(X)≥0? i=1,2…n Y N jMAXK? Y N 输出X,Q,停止 Y N 在Matlab软件包中编程,共需三个M-文件: randlp.m, mylp.m, lpconst.m. 主程序为randlp.m. % mylp.m function z=mylp(x)        %目标函数 z=2*x(1)^2+x(2)^2-x(1)*x(2)-8*x(1)-3*x(2);  %转化为求最小值问题 % lpconst.m function lpc=lpconst(x)         %约束条件 if 3*x(1)+x(2)-10<=0.5 & 3*x(1)+x(2)-10>=-0.5  %约束条件的误差为 lpc=1; else lpc=0; end % randlp.m function [sol,r1,r2]=randlp(a,b,n)   %随机模拟解非线性规划 debug=1;a=0;            %试验点下界 b=10;  n=1000;             %试验点上界%试验点个数 r1=unifrnd(a,b,n,1);      %n1阶的[a,b]均匀分布随机数矩阵 r2=unifrnd(a,b,n,1); sol=[r1(1) r2(1)]; z0=inf; for i=1:n x1=r1(i); x2=r2(i); lpc=lpconst([x1 x2]); if lpc==1 z=mylp([x1 x2]); if z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值