Matlab 绘制数据的概率分布图 & 概率密度的构造 |
您所在的位置:网站首页 › MATLAB看数据符合什么分布 › Matlab 绘制数据的概率分布图 & 概率密度的构造 |
文章目录
Part.I IntroductionPart.II 绘图Part.III 概率密度的构造Chap.I makedist 函数解析Chap.II 使用方法
Part.I Introduction
本文主要介绍一下如何使用 Matlab 来绘制数据的分布频数分布直方图、概率密度曲线和累积分布曲线等;另外还介绍了如何用 makedist 函数来构造概率密度。 一个小总结 clc;clear % 构造数据, 生成 10000 个服从 N(3,4) 正态分布的数据 Data=normrnd(3,4,10000,1); % [yy1,xx1]=ksdensity(Data); % 直接得到频率 yy1 % 首先得到频数 [counts,centers] = hist(Data,100); % 计算频率 frequency = counts / sum(counts); % 注意,这里是要除以步长的!!! frequency1 = frequency / (centers(2)-centers(1)); % 计算累积频率 cum_frequency=cumsum(frequency,2); % 绘图 hist(Data,100) figure plot(centers,frequency1) figure plot(centers,cum_frequency)首先准备数据,这里用随机数生成正态分布的一组数据。 % 构造数据, 生成 10000 个服从 N(3,4) 正态分布的数据 Data=normrnd(3,4,10000,1);然后绘制频数分布直方图 hist(Data,100) // 100 个长条
绘制累积分布曲线 % 计算累积频率,这里用的是 frequency,而不是 frequency1 cum_frequency=cumsum(frequency,2); plot(centers,cum_frequency)
这部分介绍如何构造一个指定分布的概率密度函数。 Chap.I makedist 函数解析makedist 的用法如下: pd = makedist(distname) pd = makedist(distname,Name,Value) list = makedist输入参数: distname:分布的名称Name:参数的名字Value:参数的值输出参数: pd:概率分布支持的分布名有: 示例代码如下: // 构造一个稳定分布 pd1 = makedist('Stable','alpha',2,'beta',0,'gam',1,'delta',0); x = -5:.1:5; pdf1 = pdf(pd1,x); ------------------------------------------------------------------- pd1 = StableDistribution Stable distribution alpha = 2 beta = 0 gam = 1 delta = 0上面的代码构造了一个稳定分布,指定了参数 α = 2 , β = 0 , γ = 1 , μ = 0 \alpha=2,\beta=0,\gamma=1,\mu=0 α=2,β=0,γ=1,μ=0。 Chap.II 使用方法有时候不知道一个分布在 Matlab 中有几个参数,各个参数的名称是什么,可以首先用下面的代码进行试探 pd2=makedist('Burr')然后点击蓝色文字查看帮助文档 在理解了各个参数之后,再按自己的需求对各个参数进行赋值,进而生成自己所需的概率密度函数: pd2=makedist('Burr','alpha',2,'c',3,'k',4); pts=linspace(-5,5,1000); y = pdf(pd2,pts); plot(pts,y); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |