matlab随机数选择

2025-12-18 01:44:14
推荐回答(1个)
回答1:

你不能用均匀分布的随机数来操制。
你可以这样。
假设说你想要这五个数的概率分别为:0.4,0.25,0.2,0.1,0.05
它们的累积概率为0.4,0.65,0.85,0.95,1

你可以这样。先产生一个随机数,
找上面累积概率的区间,再先数。

%%%%%%%%%%
P=[0.4,0.25,0.2,0.1,0.05];
SumP=cumsum(P);
A=1:5;
data=[];
N=1000; %随机数个数
for i=1:N
x=rand(1);
if x data(i)=A(1);
elseif x data(i)=A(2);
elseif x data(i)=A(3);
elseif x data(i)=A(4);
else
data(i)=A(5);
end
end

%这个数出现的次数:
cnt=hist(data,A)/N %这些随机数出现的次数