js里面如何绘制正态分布函数图像

JavaScript019

js里面如何绘制正态分布函数图像,第1张

matlab中的常用概率分布函数。

引用他人的整理成果,总结的很好。

用matlab画正态分布图的代码:

clear all;

x=-4:0.1:4

y=normpdf(x,0,1)

figure

plot(x,y)grid

legend('标准正态分布')

结果如下

算出正态分布的alpha分位点。

用~inv函数来实现:

clc

clear all

x =-4:0.1:4

y1 = normpdf(x,0,1)

n=norminv(1-0.01,0,1)

x2 = n:0.1:4

y2 = normpdf(x2,0,1)

plot(x,y1)

hold on

area(x2,y2)

没有rando函数。只有rand和randn

1.rand()

生成(0,1)区间上均匀分布的随机变量。基本语法:

rand([M,N,P ...])

生成排列成M*N*P... 多维向量的随机数。如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:

rand(5,1) %生成5个随机数排列的列向量,一般用这种格式

rand(5) %生成5行5列的随机数矩阵

rand([5,4]) %生成一个5行4列的随机数矩阵

生成的随机数大致的分布。

x=rand(100000,1)

hist(x,30)

由此可以看到生成的随机数很符合均匀分布。(视频教程会略提及hist()函数的作用)

2.randn()

生成服从标准正态分布(均值为0,方差为1)的随机数。基本语法和rand()类似。

randn([M,N,P ...])

生成排列成M*N*P... 多维向量的随机数。如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略掉方括号。一些例子:

randn(5,1) %生成5个随机数排列的列向量,一般用这种格式

randn(5) %生成5行5列的随机数矩阵

randn([5,4]) %生成一个5行4列的随机数矩阵

3、matlab中random函数——通用函数,求各分布的随机数据,其用法:

y = random('norm',A1,A2,A3,m,n)

式中:A1,A2,A3为分布的参数,m,n用来指定随机数的行和列,name的取值有相关的表格来参照。

例:产生一个3行4列均值为2、标准差为0.3的正态分布随机数:

>>y =random('norm',2,0.3,3,4)

y =

2.1613 2.2587 1.8699 2.8308

2.5502 2.0956 2.1028 1.5950

1.3223 1.6077 3.0735 2.9105

正态分布概率密度正态分布函数“NORMDIST”获取。

在这里是以分组边界值为“X”来计算:

Mean=AVERAGE(A:A)(数据算术平均)

Standard_dev=STDEV(A:A)(数据的标准方差)

Cumulative=0(概率密度函数)

1.向下填充

2.在直方图中增加正态分布曲线图

a、在直方图内右键→选择数据→添加→

b、系列名称:选中H1单元格

c、系列值:选中H2:H21

d、确定、确定

3.修整图形

a、在图表区柱形较下方选中正态分布曲线数据,(正态分布密度值和频率数值相比太小了,实在看不清,多试几次,选中后如图,同时正态分布曲线那数数据处于选中状态)。

b、右键→设置数据列格式→系列绘制在→次坐标轴;

关闭,如图

4.更改系列图表类型

a、选中正态分布柱形图→右键→更改系列图表类型

b、选中“拆线图”

c、确定

5.平滑正态分布图

选中正态分布曲线→右键→设置数据列格式→线型→勾选“平滑线”→关闭