蒙特卡洛模拟方法的matlab实现

蒙特卡洛模拟方法的matlab实现

例题蒙特卡洛模拟这个名字听起来很厉害,简单来说其实就是进行多次随机抽样,结合题目和代码很容易理解
话不多说,show code!

clear,clc;
count=100000;
a=[20 15 10 5 5 3 3 3 3 1 1 1];%十个数,可以是其他不同的十个
c=1:12;
r=zeros(size(a));%每个位置出现的次数,初始化全部为零
for i=1:count
    b=c(randperm(length(a)));%b就是a中10个数的随机顺序排列
    for j=1:12
        if sum(a(b(1:j)))>=50
            break;
        end
    end
    r(b(j))=r(b(j))+1;%对应位置记录加1个
end
r=r/count;

下面是运行结果
结果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值