Matlab之统计数据分布并绘制直方图函数histogram

一、功能

直方图是一种将数据分组到条柱中的条形图。该函数可以统计数据在划分区间内的数量分布,同时以直方图的形式展示统计结果。

二、语法

1、histogram(X)

创建直方图X的图。该函数使用 一种自动分箱算法,返回具有统一宽度的分箱, 选择以涵盖元素范围并揭示 分布的基础形状。 将条柱显示为矩形条,以便每个矩形的高度 表示箱中的元素数。

2、histogram(X,nbins)

指定条柱的数量。

3、histogram(X,edges)

将条柱边分类到X向量。

4、histogram('BinEdges',edges,'BinCounts',counts)

绘制指定的条柱计数,并且不执行任何数据条箱。

5、histogram(C,Categories)

仅绘制C中的类别子集。

6、histogram('Categories',Categories,'BinCounts',counts)

手动指定类别和关联的 bin 计数。 绘制指定的条柱计数并执行histogram不执行任何数据合并。

7、输入数据

X— 要在 bin 向量之间分配的数据

C— 分类数据

nbins— 条柱数,正整数

edges— 条柱边,向量

Categories— 字符向量的直方图 元胞数组中包含的类别

counts— Bin 计数

三、示例

1、向量直方图

生成 10,000 个随机数并创建直方图。该函数会自动选择适当数量的条柱,以覆盖值范围并显示基础分布的形状。

x = randn(10000,1);
h = histogram(x)

2、指定直方图条柱数

绘制 1,000 个随机数的直方图,这些随机数被分类到 25 个等距的条柱中。

x = randn(1000,1);
nbins = 25;
h = histogram(x,nbins)

3、更改直方图条柱的数量

生成 1,000 个随机数并创建直方图。

X = randn(1000,1);
h = histogram(X)

使用该功能粗略调整箱数。

Nbins = morebins(h)

通过显式设置条柱数量,在细粒度级别调整条柱。

h.NumBins = 31;

4、指定直方图的条柱边

生成 1,000 个随机数并创建直方图。将条柱边指定为在直方图边上具有宽条柱的向量,以捕获不满足条件的异常值∣x∣<2.第一个向量元素是第一个条柱的左边缘,最后一个向量元素是最后一个条柱的右边缘。

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);

指定属性以展平包含异常值的条柱。现在,每个条柱的面积(而不是高度)表示该区间内的观测频率。

h.Normalization = 'countdensity';

5、绘制分类直方图

创建表示投票的分类向量。向量中的类别为 、 或 。'yes''no''undecided'

A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})

绘制投票的分类直方图,使用相对柱形宽度 0.5

h = histogram(C,'BarWidth',0.5)

6、具有指定归一化的直方图

生成 1,000 个随机数并使用归一化创建直方图。

x = randn(1000,1);
h = histogram(x,'Normalization','probability')

计算条形高度的总和。通过此归一化,每个条形的高度等于在该条柱间隔内选择观测值的概率,并且所有条形的高度总和为 1。

S = sum(h.Values)

7、使用百分比的直方图

生成 100,000 个正态分布的随机数。使用标准差 15 和平均值 100。

x = 100 + 15*randn(1e5,1);

绘制随机数的直方图。缩放 y 轴并将其标记为百分比。

edges = 55:15:145;
histogram(x,edges,Normalization="percentage")
ytickformat("percentage")

8、绘制多个直方图

生成两个随机数向量,并在同一图中为每个向量绘制直方图。

x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);

由于直方图的样本大小和条柱宽度不同,因此很难进行比较。对直方图进行归一化,使所有条形高度相加为 1,并使用统一的条柱宽度。

h1.Normalization = 'probability';
h1.BinWidth = 0.25;
h2.Normalization = 'probability';
h2.BinWidth = 0.25;

9、调整直方图属性

生成 1,000 个随机数并创建直方图。返回直方图对象以调整直方图的属性,而无需重新创建整个绘图。

x = randn(1000,1);
h = histogram(x)

准确指定要使用的箱数。

h.NumBins = 15;

使用矢量指定条柱的边缘。向量中的第一个值是第一个条柱的左边缘。最后一个值是最后一个条柱的右边缘。

h.BinEdges = [-3:3];

更改直方图条的颜色。

h.FaceColor = [0 0.5 0.5];
h.EdgeColor = 'r';

10、确定基础概率分布

生成 5,000 个正态分布的随机数,平均值为 5,标准差为 2。绘制直方图以生成概率密度函数的估计值。

x = 2*randn(5000,1) + 5;
histogram(x,'Normalization','pdf')

在此示例中,正态分布数据的基础分布是已知的。但是,您可以使用直方图,通过将数据与已知概率密度函数进行比较,来确定数据的基础概率分布pdf。

均值为正态分布的概率密度函数μ标准差σ和方差σ2

叠加均值为 5 且标准差为 2 的正态分布的概率密度函数图。

hold on
y = -5:0.1:15;
mu = 5;
sigma = 2;
f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));
plot(y,f,'LineWidth',1.5)

11、保存和加载直方图对象

使用该功能保存图窗。

histogram(randn(10));
savefig('histogram.fig');
close gcf

用于将直方图加载回 MATLAB®。 还返回图的句柄。

h = openfig('histogram.fig');

使用该函数从图窗手柄中找到正确的对象手柄。这允许您继续操作用于生成图窗的原始直方图对象。

y = findobj(h,'type','histogram')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件科技成果鉴定测试需提供哪些材料?

为了有效评估科技成果的质量&#xff0c;促进科技理论向实际应用转化&#xff0c;所以需要进行科技成果鉴定测试。申请鉴定的科技成果范围是指列入国家和省、自治区、直辖市以及国务院有关部门科技计划内的应用技术成果&#xff0c;以及少数科技计划外的重大应用技术成果。   …

“山东工行杯”山东省第五届数据应用创新创业大赛颁奖仪式丨2023中国新型智慧城市发展创新峰会“数字经济”分论坛同台举行

「场景赋能 数创齐鲁」 山东省第五届数据应用创新创业大赛 精彩颁奖典礼引领科技潮流 11月24日&#xff0c;“山东工行杯”山东省第五届数据应用创新创业大赛颁奖仪式与2023中国新型智慧城市发展创新峰会相结合并在“数字经济”分论坛同台举行。 本次大赛以“场景赋能&#…

VA03 凭证流 查看备忘

今天被问到了&#xff0c;为什么这个销售订单 只显示了3 EA 仔细看了一下&#xff0c;前面10 是行项目 看销售订单 最后发现&#xff0c;凭证流跟选择查看的行项目有关系 以前一直没有关注这个细节

2023字节跳动软件测试工程师面试题及答案分享

相信大家都有这样一个忧虑就是面试&#xff0c;不管我们要找什么工作&#xff0c;面试都会是必不可少的&#xff0c;下面是整理出来的面试题和我的一些见解觉得不对的在评论区留言&#xff01; 1、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 参考答案&…

【S32K3环境搭建】-0.3-S32DS安装实时驱动RTD(Real-Time Driver)

目录 1 什么是“实时驱动RTD(Real-Time Driver)” 2 安装“实时驱动RTD(Real-Time Driver)” 2.1 方法一&#xff1a;通过S32DS Extensions and Updates安装“实时驱动RTD(Real-Time Driver)” 2.2 方法二&#xff1a;通过Install New Software…安装“实时驱动RTD(Real-Ti…

智能优化算法应用:基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于白冠鸡算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.白冠鸡算法4.实验参数设定5.算法结果6.参考文献7.…

【MySQL环境配置在虚拟机中】

MySQL环境配置在虚拟机中 先检查虚拟机中是否有MySQL在线安装1.下载yum Repository2.安装yum Repository3.安装mysql5.7的服务4.开机自启动5.启动mysql6.查看状态7.获取临时密码8.登录mysql9.关闭密码复杂验证10.设置密码11.修改权限12.卸载yum Repository 离线安装1.先找一下机…

【全栈开发】使用NestJS、Angular和Prisma 打造全栈Typescript开发

在开发Angular应用程序时&#xff0c;我非常喜欢Typescript。使用NestJS&#xff0c;您可以以与Angular非常相似的方式编写后端。 我偶然发现了这个库&#xff0c;发现它非常有趣&#xff0c;所以我想设置一个简单的测试项目。一般来说&#xff0c;我主要使用SQL数据库&#x…

十一、shell脚本综合案例

目录 1、猜字游戏 1.1 规则 1.2 代码 2、一键安装jdk 2.1 准备

寻找峰值00

题目链接 寻找峰值 题目描述 注意点 数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回 任何一个峰值 所在位置即可对于所有有效的 i 都有 nums[i] ! nums[i 1]可以假设 nums[-1] nums[n] -∞ 解答思路 可以根据二分查找保证在O(log n)的时间复杂度找到峰…

Netty中Channel的isWritable方法理解

目录 初见 深入 需要注意 对待超SIZE情况开源项目怎么做 1、seata中 2、SUMMER中 3、一些资料中 总结 初见 以下是包中注释 Returns true if and only if the I/O thread will perform the requested write operation immediately. Any write requests made when t…

【GAMES101】二维变换和齐次坐标

这几天都在抽空学OpenGL、敲leetcode和看games&#xff0c;这里留点笔记给以后复习 games101第一节课在吹水&#xff0c;第二节课讲了线性代数的入门知识&#xff0c;比较简单&#xff0c;这里稍微回顾一下重点&#xff0c;然后开始讲第三节课的二维变换和齐次坐标 目录 向量…

湖南麒麟下默认使用串口输出系统日志

有时候为了调试方便&#xff0c;需要将系统日志通过CPU的串口进行输出&#xff0c;以下是针对至强E5V4处理器上安装湖南麒麟操作系统后将日志通过串口输出的配置。 首先在bios中打开串口重定向功能&#xff0c;这里的BIOS是AMI的BIOS 内部配置如下&#xff0c;波特率115200配置…

STM32学习笔记--闪存Flash

STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&#xff0c;通过闪存存储器接口&#xff08;外设&#xff09;可以对程序存储器和选项字节进行擦除和编程。 读写FLASH的用途&#xff1a;利用程序存储器的剩余空间来保存掉电不丢失的用户数据 &#xff0c;通过…

c++--类型行为控制

1.c的类 1.1.c的类关键点 c类型的关键点在于类存在继承。在此基础上&#xff0c;类存在构造&#xff0c;赋值&#xff0c;析构三类通用的关键行为。 类型提供了构造函数&#xff0c;赋值运算符&#xff0c;析构函数来让我们控制三类通用行为的具体表现。 为了清楚的说明类的构…

现代雷达车载应用——第2章 汽车雷达系统原理 2.1节

经典著作&#xff0c;值得一读&#xff0c;英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.1 基本雷达功能 雷达系统通过天线或天线阵列向空间辐射电磁能量。辐射的电磁能量“照亮”周围的目标。“被照亮”的目标拦截一些辐射能量&#xff0…

图片帧数超过300帧,调整后重新上传

发表公众号的时候&#xff0c;传了一些 GIF 格式的动图&#xff0c;但是提示&#xff1a;图片帧数超过300帧&#xff0c;调整后重新上传。怎么解决这个问题呢&#xff1f;GIF 格式的图片&#xff0c;是将多个图片保存在一起&#xff0c;并逐帧显示的&#xff0c;帧数越多&#…

[NAND Flash 2.2] NAND闪存及控制器的市场趋势 [2023]

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< 一、NAND闪存市场分析 据欧洲知名半导体分析机构Yole发布的报告显示&#xff0c;2020年起&#xff0c;NAND闪存市场发展趋势保持稳定…

Redis中HyperLogLog的使用

目录 前言 HyperLogLog 前言 在学习HyperLogLog之前&#xff0c;我们需要先学习两个概念 UV&#xff1a;全称Unique Visitor&#xff0c;也叫独立访客量&#xff0c;是指通过互联网访问、浏览这个网页的自然人。1天内同一个用户多次访问该网站&#xff0c;只记录1次。PV&am…

二值图像分割统一项目

1. 项目文件介绍 本章为二值图像的分割任务做统一实现&#xff0c;下面是项目的实现目录 项目和文章绑定了&#xff0c;之前没用过&#xff0c;不知道行不行 data 文件夹下负责摆放数据的训练集测试集inference 负责放待推理的图片(支持多张图片预测分割)run_results 是网络训…