数学建模计算机模拟实验答案,数学建模实验——计算机模拟

计算机模拟

2.一个带有船只卸货的岗楼,任何时间仅能为一艘船只卸货。船只进港是为了卸货,相邻两艘船只到达的时间间隔在15分钟到145分钟之间变化。一艘船只卸货的时间由所卸货物类型决定,在45分钟到90分钟之间变化,请回答以下问题:

(1)每艘船只在港口的平均时间和最长时间是多少?

(2)若一艘船只的等待时间是从到达到开始卸货的时间,每艘船只的平均等待时间和最长等待时间是多少?

(3)卸货设备空闲时间的百分比是多少?

(4)船只排队最长的长度是多少?

解:可以看做是一个排队,用MATLAB程序如下所示:

function timeWaiting = simu3_ship(n)

n = input('n=');m=0;

x = zeros(1,n);y = zeros(1,n);

D = zeros(1,n);leng = zeros(1,n);

t = unifrnd(65,130,1,n)+15; %两艘船到达的时间间隔

s = unifrnd(22.5,45,1,n)+45; %一艘船只的卸货时间

x(1) = t(1); %第一艘船到达的时间

for i = 2:n

y(i) = x(i-1) + t(i); %第2~n搜船到达的时间

j = i - 1;

c(j) = x(j) + s(j)+ D(j); %计算第一艘船离开的时间

if c(j) < y(i) %比较相邻两艘船离开、到达时刻的大小 D(i) = 0;

D3(i) = y(i)-c(j); %D3用来计算空闲的时间

else

D(i) = c(j) - y(i);

D3(i) = 0;

end

x(i) = y(i);

D1(i) = D(i)+s(i);

D2(i) = D(i);

for k = 2:n

if c(j) > y(k)

m = m+1;

end

leng(j) = m; %计算每艘船在卸货的时候,等待的船只个数

end

m = 0;

end

averageWaiting1 = mean(D1);maxWaiting1 = max(D1);

averageWaiting2 = mean(D2);maxWaiting2 = max(D2);

maxLength = max(leng);

freerate3 = sum(D3(i))/(sum(D3(i))+sum(s(i-1)));

display(averageWaiting1);display(maxWaiting1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值