• 大小: 4KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-07-19
  • 语言: Matlab
  • 标签:

资源简介

报童问题的matlab仿真分析,进行数学建模,并程序仿真。

资源截图

代码片段和文件信息

%报童问题(负指数分布)
%几个参数:
%卖出报纸挣a元,退回报纸赔b元;
%卖报量y订报量z,订报量上限z_up;
%观察期的总天数t用于积累天数的ti;
%总的平均损失量ave_loss,供过于求损失loss1供小于求损失loss2ave_loss=loss1+loss2;
%最佳订报量superz最小损失量ave_loss_min;

function [superzave_loss_min]=expi(tz_upab)
    mu=input(‘输入负指数分布的参数mu‘);                 %输入负指数分布的参数mu,默认为1000
    if isempty(mu) 
        mu=1000;
    end
    y=round((exprnd(mu1t)));                         %生成最大订报量以内的均匀随机卖报量y(矢量)
    ave_loss=zeros(1z_up);                            %各种订报量情况下的平均损失统计(z_up个元素的矢量)
     for z=1:z_up                                      %外层循环,z_up种情况,各种订报量
         loss1=0;
         loss2=0;
        for ti=1:t                                     %内层循环,一共实验多少天
          if z>y(ti)                                   %如果供大于求,说明要退报,赔钱
               loss1=loss1+b*(z-y(ti));
          elseif z               loss2=loss2+a*(y(ti)-z);
          else                                         %如果订报量与卖报量相同,损失不变
              loss1=loss1;
              loss2=loss2;
              end
        end
         ave_loss(z)=(loss1+loss2)/t;                  %求每天的平均损失量
     end
     ave_loss_min=min(ave_loss)                        %显示最后的平均最小损失
     superz=find(ave_loss==ave_loss_min)               %记录在给定a和给定b条件下的最佳订报量
     
     figure(1)                                         %画给定a和b的时候的最佳订报量和最小平均损失关系曲线
     plot(1:z_upave_loss‘b‘)
     grid on
     axis([010000300])
     xlabel(‘订报量/份‘)
     ylabel(‘亏损/元‘)
     title(‘亏损与订报量的关系曲线‘)
     
      figure(2)                                        %画每份报纸收益与最佳订报量的关系曲线
     z_a=zeros(1100);
     n1=1;
     for a_temp=0:0.01:1                               %收益a由0元递增至1元
         for z=1:z_up                                  %外层循环,z_up种情况,各种订报量
           loss1=0;
           loss2=0;   
           for ti=1:t                                  %内层循环,一共实验多少天
            if z>y(ti)                                 %如果供大于求,说明要退报,赔钱
               loss1=loss1+b*(z-y(ti));
            elseif z               loss2=loss2+a_temp*(y(ti)-z);
            else                                       %如果订报量与卖报量相同,损失不变
              loss1=loss1;
              loss2=loss2;
            end
        end
         ave_loss(z)=(loss1+loss2)/t;                  %计算平均损失
       end
     ave_loss_min=min(ave_loss);
     z_a(n1)=find(ave_loss==ave_loss_min1‘first‘);   %将每种a的最佳订报量放入z_a矢量 
     n1=n1+1;
     end
     a_temp=[0:0.01:1];
     plot(a_tempz_a‘b‘)
     grid on
     axis([0101000])
     xlabel(‘每份报纸净赚/元‘)
     ylabel(‘最佳订报量/份‘)
     title(‘每份报纸净赚与最佳订报量的关系曲线‘)
     
     figure(3)                                         %每份报纸赔偿与最佳订报量的关系曲线
     z_b=zeros(1100);
     n2=1;
     for b_temp=0:0.01:1                               %赔偿b由0元递增至1元
         for z=1:z_up                                  %外层循环,z_up种情况,各种订报量
           loss1=0;
           loss2=0;   
           for ti=1:t                             

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4415  2007-06-02 21:19  paperkid\expi.m

     文件       4475  2007-06-02 17:22  paperkid\gauss.m

     文件       1105  2007-06-02 17:23  paperkid\main.m

     文件       4390  2007-06-02 15:18  paperkid\uniform.m

     目录          0  2008-05-31 01:03  paperkid

----------- ---------  ---------- -----  ----

                14603                    6


评论

共有 条评论

相关资源