【Matlab】正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit

1.normpdf

功能:正态分布概率密度函数

用法

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));

结果:

在这里插入图片描述

2.normcdf

功能:正态分布函数

用法

p = normcdf(x) % 标准正态分布
p = normcdf(x,mu,sigma)

例子

% code3
% 画正态分布函数
x = -10:0.01:10;
y = normcdf(x, 0, 1);
plot(x,y);
grid on;

结果:

在这里插入图片描述

3.norminv

功能:正态分布分位数

用法

X = norminv(P,mu,sigma)

例子

分位数的意思就是,如有:
P { X ≥ x α } = α P\{X \geq x_{\alpha} \} = \alpha P{Xxα}=α
则称 x α x_{\alpha} xα X X X的上侧 α \alpha α分位数。

norminv(1-0.05,0,1)

结果:1.6449

4.normrnd

功能:生成正态随机数

用法:

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

5.normfit

功能:正态分布参数估计

用法

[muhat,sigmahat] = normfit(data)                    % 点估计mu和sigma
[muhat,sigmahat,muci,sigmaci] = normfit(data)		% 区间估计,默认置信度95%
[muhat,sigmahat,muci,sigmaci] = normfit(data,alpha) % 置信度100(1 - alpha) %

例子:

>> 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
  • 109
    点赞
  • 690
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
MATLAB中,有几个函数可以用于处理正态分布函数。其中包括normpdf、normcdf和norminv。 - normpdf函数用于计算正态分布的概率密度函数。它的用法是normpdf(X, mu, sigma),其中X是输入的数值,mu是平均值,sigma是标准差。例如,如果要画出标准正态分布的概率密度函数,可以使用以下代码: ```matlab x = -10:0.01:10; y = normpdf(x, 0, 1); plot(x, y); grid on; ``` 这段代码会生成一个在x轴范围为-10到10的图形,展示了标准正态分布的概率密度函数。 - normcdf函数用于计算正态分布的累积分布函数。它的用法是normcdf(X, mu, sigma),其中X是输入的数值,mu是平均值,sigma是标准差。例如,如果要画出标准正态分布的累积分布函数,可以使用以下代码: ```matlab x = -10:0.01:10; y = normcdf(x, 0, 1); plot(x, y); grid on; ``` 这段代码会生成一个在x轴范围为-10到10的图形,展示了标准正态分布的累积分布函数。 除了这两个函数,还有norminv函数可以用于计算正态分布的逆函数,即给定累积概率值,计算对应的分位点。norminv的用法是norminv(p, mu, sigma),其中p是累积概率值,mu是平均值,sigma是标准差。 总结来说,在MATLAB中,可以使用normpdf函数来计算正态分布的概率密度函数,使用normcdf函数来计算正态分布的累积分布函数,使用norminv函数来计算正态分布的逆函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Matlab正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit](https://blog.csdn.net/shanchuan2012/article/details/52901758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值