关于权重随机取数

2019-07-17 14:52发布

ti, simsun, sans-serif">一个矩阵,其中的数的范围是:0-4随机取一个数,取这个数的概率与元素值正比即为 P=(元素大小)/(矩阵中元素之和)实际上取出的数都是不为0的。
应该怎么做呢?多谢各位大侠!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
爱吃果冻
2019-07-18 16:49
clear,clc
Mat = [0,1;2,3];
v = Mat(:).';
r = randsrc(1,1,[v;v/sum(v)]);%被取出来的随机数
[i,j] = find(Mat==r);
如果只想获得一个位置,那么再对位置随机取一个
id = randi(length(i));
i = i(id);  %行位置
j = j(id);  %列位置

一周热门 更多>