随机模拟实验

随机模拟实验

  1. 设某种商品每周的需求量服从(10,30)上的均匀分布,而商店的进货量为(10,30)中的某一整数,商店每销售一单位商品,可获利500元;若供大于求,导致积压1单位商品,将亏损100元;若供不应求,则可从外部调剂,此时每1单位商品仅获利300元。请编写随机模拟程序计算,为使每周获利的数学期望最大,最佳的进货量是多少?(注:随机模拟的思想为:step1.产生(10,30)上一随机数,作为这一周的需求量,根据其与的关系计算这周的获利;重复step1
    N(可取1万)次,计算这N次获利的平均,作为每周获利的数学期望(实际是它的估计))
clc;clear;
Total_profit_goods = 0;                                             %商品的总利润
Number_random_simulations = 10000;                                  %随机模拟的次数
Profit = zeros(1,20);                                               %存储利润数据
Supply_profit_storage = struct('supply_goods',[],'profit',[]);      %创建结构体

%两种方法
% Demand_goods = round(rand(1,Number_random_simulations)*20+10);
Demand_goods = randi([10,30],1,Number_random_simulations);          %随机产生Number_random_simulations次商品的需求量,范围为[10,30]的整数

i = 0;
Supply_goods = 9;                                                   %商品的供货量
while Supply_goods < 30
    Supply_goods = Supply_goods + 1;
    while i < Number_random_simulations
        i = i + 1;
        if Demand_goods(i) > Supply_goods                           %商品的需求量 大于 商品的供货量
            Total_profit_goods = Total_profit_goods + ((Demand_goods(i) - Supply_goods) * 300 + Supply_goods * 500);
        else                                                        %商品的需求量 小于或等于 商品的供货量
            Total_profit_goods = Total_profit_goods + (Demand_goods(i) * 500 - (Supply_goods - Demand_goods(i)) * 100);
        end
    end
    Total_profit_goods = Total_profit_goods / Number_random_simulations;
    
    % 直接将利润存入数组
    % Profit(i) = Total_profit_goods;

    % 使用结构体存入商品供货量及利润,可查看供货量与利润的关系
    Supply_profit_storage(Supply_goods - 9).supply_goods = Supply_goods;
    Supply_profit_storage(Supply_goods - 9).profit = Total_profit_goods;
    fprintf('供货量为%d时,利润值为:%f\n',Supply_goods,Total_profit_goods);
    i = 0;
    Total_profit_goods = 0;
end
% 当用结构体存储时,需要下面的
for i = 1:21
    Profit(i) = Supply_profit_storage(i).profit;
end

[MAX,INDEX] = max(Profit);
fprintf('当供货量为%d时,利润最大。利润值为:%f\n',INDEX + 10,MAX);

供货量为10时,利润值为:7997.000000
供货量为11时,利润值为:8183.290000
供货量为12时,利润值为:8354.190000
供货量为13时,利润值为:8510.510000
供货量为14时,利润值为:8653.030000
供货量为15时,利润值为:8781.480000
供货量为16时,利润值为:8895.860000
供货量为17时,利润值为:8995.960000
供货量为18时,利润值为:9082.500000
供货量为19时,利润值为:9154.880000
供货量为20时,利润值为:9213.010000
供货量为21时,利润值为:9256.770000
供货量为22时,利润值为:9285.560000
供货量为23时,利润值为:9299.260000
供货量为24时,利润值为:9297.750000
供货量为25时,利润值为:9282.530000
供货量为26时,利润值为:9253.360000
供货量为27时,利润值为:9209.730000
供货量为28时,利润值为:9152.540000
供货量为29时,利润值为:9080.440000
供货量为30时,利润值为:8994.000000
当供货量为24时,利润最大。利润值为:9299.260000
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脆订壳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值