Matlab的hist函数

hist有直方图的意思,直方图也被称为频数直方图,它用来显示数据集的分布情况。在MATLAB中绘制直方图的函数是hist,用法是hist(y,x),表示以向量x的各个元素为统计范围,绘制y的分布情况。

1.N = hist(Y)

将向量Y的元素平均分到十个等间隔的容器中,并且返回每个容器的元素个数。如果Y是一个矩阵,hist指令逐列元素操作。Y为向量的情形见例1和2,为矩阵的情形见例3.

例1

>> Y = [1:10];
>> N = hist(Y);
>> NN =1     1     1     1     1     1     1     1     1     1
>> hist(Y)
>> Y = [1:6];
>> N = hist(Y);
>> NN =1     1     0     1     0     1     0     1     0     1
>> hist(Y) 



每个条代表一个容器,条的高度代表容器中元素的多少。可以看到,无论Y的取值范围是多少,hist函数都将数据分到十个等间隔的容器中,不同的是每个间隔代表的长度不同,第一个间隔的长度是1,第二个间隔的长度是0.8。N是每个容器中的元素构成的数组。

例2

>> Y = [1, 2, 2, 5, 6, 6, 8, 11];
>> N = hist(Y);
>> NN =3     0     0     1     2     0     1     0     0     1
>> hist(Y)


Y最大为11,最小为1,故而将区间[1,11]均分为10分,分别为[1, 2], (2,3], (3,4], (4,5], (5,6], (6,7], (7,8], (8,9], (9,10], (10,11].

例3

当Y是一个矩阵,hist指令逐列元素操作。

>>  Y = [1,2.5,2.1;3,3.5,6];
>>  N = hist(Y);
>> NN =1     0     00     0     00     1     11     0     00     1     00     0     00     0     00     0     00     0     00     0     1>> hist(Y)


Y是一个两行三列的矩阵,N的行数代表区间的个数,N的一列对应Y的一列。例如,N的第一列表示,Y的第一列中的元素落在各个容器中的个数。
观察上图和矩阵Y,由于Y的元素最大为1,最小为6,故而将区间[1,6]以0.5的间隔划分为10个等长的子区间作为10个容器去容纳数据。图中有三种颜色的方条:蓝色,绿色和红色,分别对应Y中的第1,2,3列元素。如第一列元素为1和3,故而区间[1,1.5]和(2.5,3]中有蓝色方条。

2.N = hist(Y,M)

M是一个标量,表明使用M个箱子。(就像上面所说的如果不指定,默认是10个箱子)

例1

>> Y = [1, 1, 1.3, 2.6, 3, 3.4, 5, 5.9, 6, 6,1, 7, 7,2];
>> N = hist(Y, 6);
>> NN =5     2     1     1     3     2>> hist(Y, 6)

3.N = hist(Y,X)

>> y=[1.1 2.2 3.3];x=[2 3 4];
>> [h,xout]=hist(y,x)h =2     1     0xout =2     3     4>> hist(y,x)


其中x是一个向量,返回x的长度个以x的元素为中心的容器内的,Y的分布情况。例如,如果x是一个5元素的向量,返回Y在以x-轴上x的元素为中心的,5个容器内数据直方分布。注意:如果更需要指定容器边界而不是中心,可以使用histc。
[n,xout] = hist(…) 返回包含频数和容器位置的向量n和xout。可以使bar(xout,n)绘制直方图。
那么在上例中,x长度3,以x中元素为每个容器的中心,故返回值xout==x。
不禁要问,以xout(或者x)元素为中心的3个容器的起止范围是如何定义的,分别是多少?没有起始范围,在该容器内的分布(频数)就无意义。
不得不说,我觉得matlab这个分区间的方式有点奇怪。下面是贴吧里,一位大牛给出的我比较认可的答案。
第一个分组是(-inf,2.5],第二个是(2.5,3.5],第三个是(3.5,inf)。

参考文献

MATLAB实现频数直方图——hist的使用
请解释hist(y,x)的返回值的含义

Matlab学习笔记(8)——hist函数相关推荐

  1. matlab学习笔记13_3创建函数句柄

    一起来学matlab-matlab学习笔记13函数 13_3 创建函数句柄 觉得有用的话,欢迎一起讨论相互学习~ 参考文献 https://ww2.mathworks.cn/help/matlab/m ...

  2. Matlab学习笔记(数学函数)一

    最近一直再看matlab5手册,写一些作为学习笔记. 一些常用的数学函数: clc; x=1.7 y1=abs(x)%绝对值 sign(x)%x的符号,正1.负-1,零0 sqrt(x)%根号 pow ...

  3. matlab学习笔记之——符号函数应该怎么作图?

    如何用符号函数来做图 最近在学习使用符号函数,在此过程中遇到了许多问题,尤其是我不太清楚应该用什么函数来画符号函数的图.之后我问了我的老师,也看了很多博文,总结了一些符号函数画图的方法,希望可以帮到大 ...

  4. matlab中的pause是什么意思,【Matlab学习笔记】【函数学习】一(延时函数pause)...

    采用MATLAB中的延时函数pause: Halt execution temporarily 使用方法: pause pause(n) pause on pause off 函数描述: pause, ...

  5. R语言学习笔记1(hist()函数里有关于breaks参数的使用)

    1.hist(x,breaks=50,col="green",border="red")                       效果图如下 breaks等 ...

  6. linspace函数matlab_从零开始的matlab学习笔记——(29)泰勒逼近函数

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图....更多内容尽在个人专栏:matlab学习 上一节我们成功制作了能自己转圈的三维螺旋线,这里我们再来 ...

  7. matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 翻了翻优化工具箱,发现内容 ...

  8. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  9. B站台湾大学郭彦甫|MATLAB 学习笔记|06 高阶绘图 Advanced Plot

    MATLAB学习笔记(06 高阶绘图 Advanced Plot) 如果想获得更好浏览体验的朋友可以转到下面链接 06 1. 对数图 (Logarithm Plots) x = logspace(-1 ...

  10. Matlab学习笔记——数据文件定位

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 数据文件定位 1.fseek函数 2.ftell函数 3.feof函数 数据文件定位 1.fseek函数 用于改变 ...

最新文章

  1. finecms设置伪静态后分享到微信不能访问怎么处理
  2. PTA基础编程题目集-7-15 计算圆周率
  3. Hook技术之4 在自己的进程中注入一个Dll到别人的进程
  4. 入门:PHP:hello world!
  5. python 链栈及基本操作
  6. JavaFX技巧14:StackPane子项-隐藏但不消失
  7. Java生产者 消费者模型的一种实现
  8. 4. Jmeter主界面的介绍
  9. NSNotFound
  10. idea报错命令行过长
  11. 斐讯k2路由器刷华硕固件做桥接中继
  12. 文件名批量修改工具V1.0 绿色版
  13. window里dig命令跟踪域名DNS解析
  14. 体验服官网和平精英维护服务器,和平精英体验服怎么注册?和平精英体验服注册流程...
  15. 相关系数与决定系数的关系
  16. 极米H3S和坚果J10S对比,5000元投影仪到底哪个好?
  17. #大三狗的日常总结与反思03#
  18. 2018 拼多多 校招真题 最大乘积
  19. python hdf5_Python HDF5属性
  20. Wannafly挑战赛14 A 直角三棱锥

热门文章

  1. Portraiture 3.5.6磨皮滤镜插件适用于Photoshop磨皮美化功能
  2. 在php中如何设置字体宋体,css怎么设置字体为宋体?
  3. 第三阶段应用层——1.12 数码相册—interval_page设置时间间隔界面的显存管理、页面规划、输入控制
  4. 新能源汽车控制技术分享:VCU整车控制器电控开发
  5. 前馈神经网络求解XOR问题
  6. 相机的光圈、快门、ISO到底是什么鬼?
  7. javascript 字符串的排列与组合
  8. [Joy]冷笑话急转弯
  9. 你想要的英雄联盟人物模型素材,这里都能找到
  10. 用计算机和电视机组成家庭影院,用电脑组建家庭影院:  最方便最实惠的玩法...