已知数据的分布率,怎么用matlab随机产生一组数据
2个回答
展开全部
产生一个
服从均匀分布(0,1)的数据A,
那就是说A在0-1范围内概率相同。
比如小于29岁这个。如果A在小于0.05,那么就说这个游客小于29;
如果大于0.05
小于0.15
(差0.1)就说在30-39岁;
如果大于0.15
小于0.35
(差0.2)就说在40-49岁;
以此类推;
产生这样1000个数据,看他们的范围,就知道是在哪个年龄段了。
在Matlab里
rand()
就是一个0-1
分布的数据,你存1000个,看就好了;
程序如下:sizeXX就是这一组的数量。
Size29=0;Size30=0;Size40=0;
Size50=0;Size60=0;Size70=0;Size80=0;
i=1;
while
(i<1001)
a=rand();
if(a<0.05);
Size29=Size29+1;
elseif(a<0.15)
Size30=Size30+1;
elseif(a<0.35)
Size40=Size40+1;
elseif(a<0.65)
Size50=Size50+1;
elseif(a<0.85)
Size60=Size60+1;
elseif(a<0.95)
Size70=Size70+1;
else
Size80=Size80+1;
end
i=i+1;
end
希望解决了你的疑惑,谢谢
服从均匀分布(0,1)的数据A,
那就是说A在0-1范围内概率相同。
比如小于29岁这个。如果A在小于0.05,那么就说这个游客小于29;
如果大于0.05
小于0.15
(差0.1)就说在30-39岁;
如果大于0.15
小于0.35
(差0.2)就说在40-49岁;
以此类推;
产生这样1000个数据,看他们的范围,就知道是在哪个年龄段了。
在Matlab里
rand()
就是一个0-1
分布的数据,你存1000个,看就好了;
程序如下:sizeXX就是这一组的数量。
Size29=0;Size30=0;Size40=0;
Size50=0;Size60=0;Size70=0;Size80=0;
i=1;
while
(i<1001)
a=rand();
if(a<0.05);
Size29=Size29+1;
elseif(a<0.15)
Size30=Size30+1;
elseif(a<0.35)
Size40=Size40+1;
elseif(a<0.65)
Size50=Size50+1;
elseif(a<0.85)
Size60=Size60+1;
elseif(a<0.95)
Size70=Size70+1;
else
Size80=Size80+1;
end
i=i+1;
end
希望解决了你的疑惑,谢谢
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询