如何用EXCEL生成正态分布?

如何用EXCEL生成正态分布?,第1张

正态分布函数的语法是NORMDIST(x,mean,standard_dev,cumulative)cumulative为一逻辑值,如果为0则是密度函数,如果为1则是累积分布函数。如果画正态分布图慎型亮,租返则为0。

例如均值10%,标准值为20%的正态分布,先在A1中敲入一个变量,假定-50,选中A列,点编辑-填充-序列,选择列,等差序列,步长值10,终止值70。然后在宽宽B1中敲入插入函数NORMDIST(A1,10,20,0),返回值为0.000222,选中B1,当鼠标在右下角变成黑十字时,下拉至B13,选中A1B13区域,点击工具栏上的图表向导-散点图,选中第一排第二个图,点下一步,默认设置,下一步,标题自己写,网格线中的勾去掉,图例中的勾去掉,点下一步,完成。图就初步完成了。下面是微调把鼠标在图的坐标轴上点右键,选 坐标轴格式,在刻度中填入你想要的最小值,最大值,主要刻度单位(x轴上的数值间隔),y轴交叉于(y为0时,x多少)等等。确定后,正态分布图就大功告成了。希望对你有帮助。

1、首先打开Excel 2007软件,在工作表中生成1-100的序号。

2、然后在B2单元格输入公式“=rand()”,下拉填充公式,生成随机的概率p,0<=p<=1(注意:为不让p值再变动,可以用选择粘贴的方式去除公式)。

3、再在c2单元格输入公式“禅轿=NORMINV(B2,6,1)”,贺渗肆下拉填充公式,即可生成均值为6,标准差为1的正态分布。

4、接着绘制序号与随机数的折线图,可以看到随机数x的变动基本是在6附近上下波动。

5、最后合并公式=NORMINV(RAND(),6,1),即生成了均值为6、标准差为1的正态喊禅分布随机数的数据。

可以采用Box_Muller的方法。

Box-Muller方法是以两组独立的随机数U和V,这两组数在(0,1]上均匀分布,用U和V生成两组独立的标准常态分布随机变量X和Y

x=sqrt((-2)*ln(U))*cos(2*pi*V)

Y=sqrt((-2)*ln(U))*sin(2*pi*V)

matlab 程序

function Norm_Distribution_Box_Muller

clear allclc%清屏 

m=input('请输入平均值:')

n=input('请输入标准差:') 

t=input('请输入数据长度:') %产生正态分布的随机数 

for i=1:t    

    a=rand  行迟   

    b=rand     

    X1(i)=sqrt((-2)*log(a))*cos(2*pi*b)    

    X2(i)=sqrt((-2)*log(a))*sin(2*pi*b)   

    Y1=X1*n+m    

    Y2=X2*n+m 

end

disp(Y1) %求平均值和标准差

M1=mean(Y1) N1=std(Y1) disp(M1) disp(N1) disp(Y1) %求平均值和标准差 

M2=mean(Y2) N2=std(Y2) disp(M2) disp(N2)  %将数据写入文本文件  

fid=fopen('xiefei1.dat','w') Z1=Y1  fprintf(fid,'%f\t',Z1)

fclose(fid) %将数据写入文本文件 

fid=fopen('xiefei2.dat','w') Z2=Y2 

fprintf(fid,'%f\t',Z2) fclose(fid) 

%绘图 

subplot(2,1,1) histfit(Y1)

xlabel('随机数码带稿') ylabel('出现的次数') 

%绘图

subplot(2,1,2)histfit(Y2)

xlabel('随机数')ylabel('出现的次数')

%检验 

h1=lillietest(Y1)%若结果h1为1,则说明零假设不成立,拒绝零假设;否迟孝则,结果为0,零假设成立,即原分布为正态分布

disp(h1)

h2=lillietest(Y2)%若结果h2为1,则说明零假设不成立,拒绝零假设;否则,结果为0,零假设成立,即原分布为正态分布 

disp(h2)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12413524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存