MATLAB在[1,100]间随机产生服从期望为2,方差为5的正态分布的随机整数

如题!谢谢... 如题!谢谢 展开
riyeyan
2009-01-04 · TA获得超过1366个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:0
展开全部
a = 1; b = 1000; c =5; n = 1000;m = 2;
x = randn(1,n);
x = x/std(x)*sqrt(c);
x = x -mean(x)+m;
index = find(x>=a & x<=b);
pseudogauss= fix(x(index));

产生的数列储存在pseudogauss中
wacs5
2009-01-04 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2814万
展开全部
x = 2 + sqrt(5) * randn(1,10);
产生10个期望是2,方差是5的正态分布的实数

不过我不理解你说的[1,100]之间,正态分布应当是对称的。
你是想截断,还是什么呢?
如果想取整数的话,可以
x = floor(2 + sqrt(5) * randn(1,10));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
raigu
2009-01-04 · TA获得超过803个赞
知道小有建树答主
回答量:362
采纳率:0%
帮助的人:358万
展开全部
粗略的方法
用函数normrnd函数

然后对产生的数据 进行判断和取整

但会改变所产生的数据性质
..
就是说你的情况很难办到
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永奇箕邵美
2019-05-05 · TA获得超过3713个赞
知道大有可为答主
回答量:3107
采纳率:28%
帮助的人:187万
展开全部
a
=
1;
b
=
1000;
c
=5;
n
=
1000;m
=
2;
x
=
randn(1,n);
x
=
x/std(x)*sqrt(c);
x
=
x
-mean(x)+m;
index
=
find(x>=a
&
x<=b);
pseudogauss=
fix(x(index));
产生的数列储存在pseudogauss中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式