matlab|matlab 如何按一定概率取数组中的值
我这里有一个数组[1,2,3,4] ,有一个变量A要从这个数组中取值。A取1,2,3,4的概率分别为0.7,0.15,0.1,0.05。我如何按照这样的概率,随机生成100个A
思路是:你先产生100个随机数,然后看每一个随机数到底在哪个范围内(把0到1分为0到0.7、0.7到0.85、0.85到0.95、0.95到1四个区间,每个区间将对应一个数),然后给A赋值。
简单版本为:
randsrc(100,1,[1:4; 0.7 0.15 0.1 0.05])复杂版本为:
【matlab|matlab 如何按一定概率取数组中的值】A=zeros(1,100);
x=rand(1,100);
A(find(x<0.7))=1;
A(find(x>=0.7))=2;
A(find(x>=0.85))=3;
A(find(x>=0.95))=4;
推荐阅读
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程