【Matlab】正态分布常⽤函数normpdf_normcdf_norminv_normr。。。
功能:正态分布概率密度函数
⽤法
Y = normpdf(X,mu,sigma)
Y = normpdf(X) %  (mu = 0, sigma = 1)
Y = normpdf(X,mu) % (sigma = 1)
例⼦
% code1
% 画标准正态分布概率密度函数
x = -10:0.01:10;
y = normpdf(x, 0, 1);
plot(x,y);
grid on;
结果:
⾃⼰写⼀个正态分布概率密度函数
% code2
% 画正态分布概率密度函数
% 写成了函数
function [] = normal_distribution()
x = -10:0.01:10;
y = fx(x, 0, 1); % ⾃写函数
plot(x,y);
grid on;
% 概率密度函数
function f = fx(x, miu, sig)
f = (sqrt(2*pi)*sig).^(-1) * exp(-(x-miu).^2/(2*sig*sig));
结果:
功能:正态分布函数⽤法
p = normcdf(x) % 标准正态分布p = normcdf(x,mu,sigma)
例⼦
% code3
% 画正态分布函数
x = -10:0.01:10;
y = normcdf(x, 0, 1);
plot(x,y);
grid on;
结果:
功能:正态分布分位数normrnd函数用法
⽤法
X = norminv(P,mu,sigma)
例⼦
分位数的意思就是,如有:
则称为的上侧分位数。
norminv(1-0.05,0,1)
结果:1.6449
功能:⽣成正态随机数
⽤法:
R = normrnd(mu,sigma)        % ⽣成⼀个数
R = normrnd(mu,sigma,m,n,...) % ⽣成m*n 列向量
例⼦:
>> normrnd(0,1)
ans =
1.4122
>> normrnd(0,1,5,3)
ans =
0.0226    0.9199  -0.7777
-0.0479    0.1498    0.5667
1.7013    1.4049  -1.3826
-0.5097    1.0341    0.2445
-0.0029    0.2916    0.8084
功能:正态分布参数估计
⽤法
[muhat,sigmahat] = normfit(data)                    % 点估计mu 和sigma
[muhat,sigmahat,muci,sigmaci] = normfit(data)  % 区间估计,默认置信度95%
[muhat,sigmahat,muci,sigmaci] = normfit(data,alpha) % 置信度100(1 - alpha) %例⼦:
P {X ≥x }=αα
x αX α
>> r=normrnd(0,1,100,2);    % ⽣成100*2和标准正态分布
>> [muhat,sigmahat] = normfit(r) % 点估计mu和sigma
muhat =
-0.1214  -0.1076
sigmahat =
0.9723    1.0072
>> [muhat,sigmahat,muci,sigmaci] = normfit(r) % 区间估计,默认置信度95% muhat =                  % 点估计
-0.1214  -0.1076
sigmahat =
0.9723    1.0072
muci =
-0.3143  -0.3074
0.0715    0.0923
sigmaci =                % 区间估计
0.8537    0.8843
1.1295    1.1701
>> [muhat,sigmahat,muci,sigmaci] = normfit(r,0.05) % 置信度100(1 - alpha) % muhat =                  % 点估计
-0.1214  -0.1076
sigmahat =
0.9723    1.0072
muci =                    % 区间估计
-0.3143  -0.3074
0.0715    0.0923
sigmaci =
0.8537    0.8843
1.1295    1.1701