如何用c语言生成一个正态分布的样本

例如,我给定期望和方差,如何生成一个正态分布的样本,样本数量最好由我给定.最好给出代码.好吧,我加分,谢谢你帮我想想... 例如,我给定期望和方差,如何生成一个正态分布的样本,样本数量最好由我给定.最好给出代码.
好吧,我加分,谢谢你帮我想想
展开
 我来答
百度网友880c9cedb
2008-01-02 · TA获得超过109个赞
知道答主
回答量:101
采纳率:0%
帮助的人:142万
展开全部
不用加分,我做过,用来产生图像的高斯噪声,也就是你要的正态分布.
1.首先你的样本应该是有一定范围的吧,我假设它是从1-255
2.根据你的方差和期望,把样本代进去,算出该样本出现的概率
3.然后根据概率知识,你做一个累积概率
4.接着你用随机数产生一个0-1之间的均匀分布
5.看这个数落在哪个累积概率区间
6.按你要的样本数重复4-5
代码这里我给个matlab程序你参考一下,很好懂的

function [dest] = GeneGauss(expectation,deviation,width,height)
dest=zeros(width,height);
pz=zeros(256);
tempConst1=1/(sqrt(2*pi)*deviation);
tempConst2=2*deviation*deviation;
for i=1:256
pz(i)=tempConst1*exp(-(i-1-expectation)^2/tempConst2);
end
f=zeros(256);
f(1)=pz(1);
for i=2:256
f(i) = f(i-1)+pz(i);
end
for i=1:width
for j=1:height
n=rand;
for k=1:256
if(n<f(k))
dest(i,j)=k-1;
break;
end
end
end
end
end
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
核动力机器人
2007-12-26 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:0%
帮助的人:102万
展开全部
加分 我就做!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式