Matlab如何实现以一定的概率选择

[复制链接]
查看11 | 回复1 | 2008-11-28 07:48:07 | 显示全部楼层 |阅读模式
比如我有4个数,选择第一个的几率是10%,选择第二个的几率是20%,选择第三个的概率是30%,选择第四个的是40%,那么我进行依次按概率选择,如何确定我选择了哪一个数?
楼上的对我举例的问题是可以解决,但是问题是我的概率不是刚好以整数形式出现,比如是12.87%之类的,这就没办法解决了!

回复

使用道具 举报

千问 | 2008-11-28 07:48:07 | 显示全部楼层
这个其实很简单,我给你举个例子,因为不清楚你实际上要具体干什么: a=round(10*rand(1,1)+1) switch a case 1 disp('x1') case 2,3 disp('x2') case 4,5,6 disp('x3') otherwise disp('x4') end 原理,随机生成1到10之间的数,每一个数字生成的概率都是10% OK,如果有2个呢?20% 实际运行就可以看出,第四个X4出现概率最高,他概率高嘛。呵呵PS :暂时我也没有好办法,但是临时方案还是有的,12.87%=1287/10000,明白我的意思么?这个时候使用for循环,不使用switch ...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行