⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 home2.m

📁 平时练习时的一些仿真程序
💻 M
字号:
clc,clear
%%=========初始化
tic
tanker=[10,8,8,6,6,5];
day=30;
G=10;%油罐总容量(万吨)
g(1)=0.5*G;h(1)=0;
u=2.5*1e-2;v=1*1e-2;%油罐加油/出油速度
busy=0;%码头忙的时间
sum_H=0;% 总运输油量
K=0;%油轮来的数量
N=2400*day;
T=1;
%%==========时间推进,步长0.01小时
for t=1:N
    %%=======有油轮到来
    if t==T
       
    k=ceil(6*rand(1));H=tanker(k);
    T=floor(-1000*log(rand(1)))+T;
    h(t)=0.95*H+h(t); K=K+1;sum_H=sum_H+0.95*H;
    end
    %%=====设置标帜旗
    if g(t)>=G, flag1=0; end
    if g(t)<=0.8*G, flag1=1; end
    if g(t)>=5, flag2=1; end
    if g(t)<=0.5, flag2=0; end
    if mod(t,2400)>=1800  %时间从6 a.m.算起
        flag3=0;
    else 
        flag3=1;
    end
    %%==========判断状态,修改变量
    if h(t)~=0 && flag1==1 && flag3==1
        h(t+1)=h(t)-u; % 油轮卸油
        g(t)=g(t)+u; % 油罐加油
        busy=busy+1; % 码头忙
    else
        h(t+1)=h(t);
    end
    if h(t)<=0
        h(t+1)=0;% 卸完油
    end
    if flag2==1
        g(t+1)=g(t)-v; %供油
    else
        g(t+1)=g(t);
    end
end
toc
subplot(211)
plot(g),grid,ylabel('油罐存储量')
subplot(212)
plot(h),grid,ylabel('油轮码头的存储量')
%%======平均运行时间137s/cpu:2.2GHz,512M内存
% conclusion
busy_rate=busy/N
mean_oil=mean(g)
day_supply=(sum_H-g(N)-h(N))/day
C_waiting=(busy/100)/K

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -