matlab:正态分布相关

简介

正态分布的概率密度分布函数(probability density function,常简写为pdf):
y = f ( x ∣ μ , σ ) = 1 σ 2 π e − ( x − μ ) 2 2 σ 2 y=f(x \mid \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} e^{\frac{-(x-\mu)^{2}}{2 \sigma^{2}}} y=f(xμ,σ)=σ2π 1e2σ2(xμ)2

正态分布的累积分布函数(Cumulative Distribution Function,常简写为cdf):
p = F ( x ∣ μ , σ ) = 1 σ 2 π ∫ − ∞ x e − ( t − μ ) 2 2 σ 2 d t p=F(x \mid \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} \int_{-\infty}^{x} e^{\frac{-(t-\mu)^{2}}{2 \sigma^{2}}} d t p=F(xμ,σ)=σ2π 1xe2σ2(tμ)2dt

相关函数

histogram(x, nbins): 画直方图
normpdf(x, mu, sigma):计算概率密度函数
normcdf(x, mu, sigma):计算累计分布函数
normplot(x):画出数据的累积分布图,与理论的正态分布对比,看该数据是否符合正态分布
cdfplot(x):画出数据的累计分布函数图

实例1

生成一组 μ = 0 , σ = 1 \mu=0,\sigma=1 μ=0,σ=1的标准正态分布数据。然后用histogram分别画出4种分布图:count(计数),probability(相对概率),pdf(概率密度函数),cdf(累计分布函数)。
其中在pdf和cdf子图中,再分别画出用normpdfnormcdf计算出的理论曲线。

mu = 0;
sigma = 1;
x = normrnd(mu,sigma,1000,1);
nbins = 31;

a = linspace(-4,4,100);
y1 = normpdf(a, mu,sigma);
y2 = normcdf(a, mu,sigma);

figure();
subplot(221)
histogram(x, nbins, 'Normalization', 'count')
title('count')

subplot(222)
histogram(x,nbins, 'Normalization', 'probability')
title('probability')

subplot(223)
hold on;
histogram(x,nbins, 'Normalization', 'pdf')
plot(a, y1, 'LineWidth',1.5)
title('pdf')

subplot(224)
histogram(x,nbins, 'Normalization', 'cdf')
hold on;
plot(a, y2, 'LineWidth',1.5)
title('cdf')

figure();
normplot(x)

结果:
在这里插入图片描述

实例2:normplot

生成一组 μ = 0 , σ = 1 \mu=0,\sigma=1 μ=0,σ=1的标准正态分布数据

  1. normplot来判断该数据是否符合正态分布;
  2. cdfplot+normcdf来判断该数据是否符合正态分布;
mu = 0;
sigma = 1;
x = normrnd(mu,sigma,1000,1);
a = linspace(-4, 4, 1000);
y = normcdf(a, mu, sigma);

figure();
subplot(121)
normplot(x);
subplot(122)
cdfplot(x)
hold on;
plot(a, y)

结果如下:
个人感觉第二种方式更好。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值