Matlab之正态拟合直方图绘制函数histfit

2022-11-02 15:37:28 浏览数 (1)

目录

一、功能

二、语法

1.histfit(data)

2.histfit(data,nbins)

3.histfit(data,nbins,dist)

4.histfit(ax,___)

5.h = histfit(___)

三、示例

1.具有正态拟合分布的直方图

2.给定bin数的直方图

3.具有指定分布拟合的直方图

4.具有核平滑函数拟合的直方图


一、功能

绘制正态拟合直方图

二、语法

1.histfit(data)

绘制 data 中的值的直方图并拟合正态密度函数,直方图的 bin 个数等于 data 中元素个数的平方根。

2.histfit(data,nbins)

使用 nbins 个 bin 绘制直方图,并拟合正态密度函数。

3.histfit(data,nbins,dist)

使用 nbins 个 bin 绘制直方图,并根据 dist 指定的分布拟合密度函数。

4.histfit(ax,___)

使用 Axes 对象 ax 指定的绘图坐标区。将 ax 指定为第一个输入参数,后跟先前语法中的任意输入参数组合。

5.h = histfit(___)

返回句柄向量 h,其中 h(1) 是直方图的句柄,h(2) 是密度曲线的句柄。

三、示例

1.具有正态拟合分布的直方图

用均值 10 和方差 1 从正态分布生成大小为 100 的样本。

代码语言:javascript复制
rng default; % For reproducibility
r = normrnd(10,1,100,1);
histfit(r)

结果如下图所示:

histfit 使用 fitdist 对数据进行分布拟合。

使用 fitdist 获得在拟合中使用的参数。

代码语言:javascript复制
pd = fitdist(r,'Normal')

Normal distribution mu = 10.1231 [9.89244, 10.3537] sigma = 1.1624 [1.02059, 1.35033]

2.给定bin数的直方图

用均值 10 和方差 1 从正态分布生成大小为 100 的样本。

使用六个 bin 构造具有正态分布拟合的直方图。

代码语言:javascript复制
rng default; % For reproducibility
r = normrnd(10,1,100,1);
histfit(r,6)

3.具有指定分布拟合的直方图

使用参数 (3,10) 从 beta 分布生成大小为 100 的样本。

使用 10 个 bin 构造具有 beta 分布拟合的直方图

代码语言:javascript复制
rng default;  % For reproducibility
b = betarnd(3,10,100,1);
histfit(b,10,'beta')

4.具有核平滑函数拟合的直方图

使用参数 (3,10) 从 beta 分布生成大小为 100 的样本。

使用 10 个 bin 构造具有平滑函数拟合的直方图。

代码语言:javascript复制
rng default;  % For reproducibility
b = betarnd(3,10,[100,1]);
histfit(b,10,'kernel')

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180582.html原文链接:https://javaforall.cn

0 人点赞