求C++或matlab编写的数学建模程序源码,有原题目更好了呀,最好是整个答卷还有分析结果都发过来,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 12:44:44
![求C++或matlab编写的数学建模程序源码,有原题目更好了呀,最好是整个答卷还有分析结果都发过来,](/uploads/image/z/3163852-28-2.jpg?t=%E6%B1%82C%2B%2B%E6%88%96matlab%E7%BC%96%E5%86%99%E7%9A%84%E6%95%B0%E5%AD%A6%E5%BB%BA%E6%A8%A1%E7%A8%8B%E5%BA%8F%E6%BA%90%E7%A0%81%2C%E6%9C%89%E5%8E%9F%E9%A2%98%E7%9B%AE%E6%9B%B4%E5%A5%BD%E4%BA%86%E5%91%80%2C%E6%9C%80%E5%A5%BD%E6%98%AF%E6%95%B4%E4%B8%AA%E7%AD%94%E5%8D%B7%E8%BF%98%E6%9C%89%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E9%83%BD%E5%8F%91%E8%BF%87%E6%9D%A5%2C)
求C++或matlab编写的数学建模程序源码,有原题目更好了呀,最好是整个答卷还有分析结果都发过来,
求C++或matlab编写的数学建模程序源码,
有原题目更好了呀,最好是整个答卷还有分析结果都发过来,
求C++或matlab编写的数学建模程序源码,有原题目更好了呀,最好是整个答卷还有分析结果都发过来,
//M/M/1排队系统仿真程序
//
//VC6下调试通过
#include
#include
#include
#include
#include
#include
using namespace std;
double lanmada=0.1; //到达间隔分布参数(负指数分布)
double mu=0.2; //服务时间分布参数(负指数分布)
struct Event//事件
{
int type; //事件类型,0:顾客到达,1:顾客离开
int id; //事件主体,顾客编号
double time;//事件发生时刻
};
list < Event > eventtable;//事件表
struct Customer//顾客
{
double arrive;//到达时刻
double start; //服务开始时刻
double depart;//离开时刻
};
Customer customer[10000];//顾客数据集合
queue< int > customerqueue;//排队情况
double t_idle=0;//空闲开始时刻
double s_idle=0;//累计空闲时间
//产生负指数分布的随机数
inline double exprand(double lanmada)
{
int rnd;
double r,x;
while(1)
{
rnd=rand();
if(rnd!=0 && rnd!=RAND_MAX)
break;
}
r=double(rnd)/RAND_MAX;
x=(-1/lanmada)*log(r);
return x;
}
void init()//仿真初始化
{
srand( time(NULL) );
Event event;
double t;
t=0;
event.id =0;
event.type =0;
event.time =0;
eventtable.push_back(event);
}
void insert(list < Event > &table ,Event event)
{
list< Event >::iterator iter=table.begin();
while( ((iter->time)< event.time) )
{
iter++;
if(iter==table.end())
break;
}
table.insert(iter,event);
}
int arriveproc(int id,double t)
{
customer[id].arrive =t;
if(id+1