如何在 MATLAB 中逐步制作直方图
MATLAB 提供了以下现代工具 histogram 创建详细的直方图。直方图可以让你直观地看到数据中的分布、频率和偏差。颜色、容器、规范化和多集合可以叠加。还可以创建图像或类别的直方图以进行高级分析。
如果您正在学习如何使用 MATLAB,或者只是需要可视化数据分布,那么直方图是最强大且使用最广泛的工具之一。它们不仅可以让您观察数据集中值的分布情况,而且还是检测模式、对称性、偏差等的关键。在本文中,我们将解释如何使用直方图。 如何在 MATLAB 中制作直方图 一步一步地,通过实际的例子和一些额外的内容,如果您是初学者,这将使您的工作更轻松。
虽然有很多关于直方图的网站和视频,但谷歌上显示的大部分搜索结果都是英文或视频,如果你喜欢阅读和遵循西班牙语指南,可能会比较难理解。因此,我们在这里为你带来 一篇完全用西班牙语写的文章,内容详细且通俗易懂,它将帮助你从零开始掌握这个 MATLAB 函数。让我们开始吧。
什么是直方图?直方图是一种图形表示,它将数据值分组到不同的区间(也称为“箱”),并显示数据落入这些区间的频率。在 MATLAB 中,直方图可以让您快速有效地可视化数据的分布情况。
它的用处在于它能够显示数据是否集中、分散、偏向一侧,或者即使它 非典型值。 它是一个工具 必要 统计学、数据分析、图像处理等领域。学习如何创建直方图将有助于你更好地理解数据。
MATLAB 中可用于创建直方图的函数MATLAB 在显示直方图的函数使用方面已经取得了长足进步。目前,用于此任务的主要且推荐的工具是函数 histogram,尽管在以前的版本中它被使用 hist,现已弃用,但为了兼容仍然可用。
直方图: 这是一个现代且灵活的功能,允许您自定义容器、颜色、边框、规范化等。历史: 它用于更基本的计算。它仍然可用,但建议迁移到 histogram.如何在 MATLAB 中创建基本直方图首先,最基本的操作是绘制数值数据序列的直方图。假设你有一个名为 datos:
datos = randn(1000,1);
histogram(datos);
这将生成一个具有正态分布值的直方图。MATLAB 将自动调整 bin 数量和数据范围。这是一个很好的方法,可以帮助您初步了解 MATLAB 中直方图的工作原理。
自定义直方图MATLAB 的优势之一是你可以 个性化 直方图可以多种方式显示,以适合您的分析。如果您想了解更多关于如何在 MATLAB 中创建直方图的信息,以下是一些技巧。
更改容器数量如果您想指定直方图有多少个箱,只需将其添加为第二个参数:
histogram(datos, 20);这将创建一个直方图 20名竞争者通过此定制,您可以调整图表的分辨率并观察更精细的模式。
定义容器边界如果您想要完全控制,您还可以定义每个间隔的边界:
edges = -5:0.5:5;
histogram(datos, edges);这在你使用 特定兴趣范围定义边缘可以帮助您专注于真正想要分析的数据集部分。
直方图归一化如果你希望直方图的总面积为 1 (即概率密度),你可以像这样将其标准化:
histogram(datos, 'Normalization', 'probability');当您想要公平地比较不同数据集的分布时,这一点至关重要。
颜色和款式要更改直方图的颜色,可以使用以下属性 FaceColor o EdgeColor:
histogram(datos, 'FaceColor', 'r', 'EdgeColor', 'k');这会把条形图涂成 红色 边缘的 黑直观地定制图表不仅可以改善其外观,还可以使结果更容易解释。
访问直方图属性通过将直方图保存到变量中,您可以操纵其 性能 创建后:
h = histogram(datos);
h.BinWidth = 0.5;
h.FaceColor = [0 0.5 0.5];这允许您修改箱体、颜色、不透明度等等。能够在创建直方图后进行调整是 MATLAB 提供的一项强大功能。
高级应用:图像直方图在图像处理领域,直方图是 重要MATLAB 允许您使用以下函数轻松创建图像直方图 imhist当您想要分析图像中的强度分布时,这特别有用。
例如,如果您有一张灰度图像:
I = imread('imagen.jpg');
Igray = rgb2gray(I);
imhist(Igray);这将显示图像中强度级别的分布情况,从而帮助您调整处理方式。此外,了解图像中数值的分布情况可以提供有关其质量和特性的宝贵信息。
比较不同的数据集如果quieres 比较 在同一张图中绘制多个分布,可以使用函数 hold on 并绘制几个直方图:
datos1 = randn(1000,1);
datos2 = randn(1000,1) + 2;
histogram(datos1, 'Normalization', 'probability');
hold on;
histogram(datos2, 'Normalization', 'probability');
hold off;这可以让你比较不同数据集的表现。比较直方图可以帮助你识别数据集之间的异同,从而让你从分析中得出更深入的结论。
分类数据的直方图如果您正在与 分类数据您还可以创建直方图。MATLAB 会自动适应以下数据类型:
categorías = categorical({'rojo','azul','rojo','verde','azul','azul'});
histogram(categorías);这将生成一个直方图,统计其出现的次数 每个类别以这种方式分析分类数据将使您能够清晰准确地看到每个类别的频率。
使用直方图作为图形对象对象 Histogram 它们允许完全通过编程进行控制。您可以访问它们的属性、事件和方法来操作它们。 动态地.
h = histogram(datos);
display(h.Values);
display(h.BinEdges);这样,您就可以使用直方图信息执行其他计算或以交互方式修改图形。这种灵活性是使用 MATLAB 进行数据可视化的众多优势之一。
在 MATLAB 中使用直方图的常见错误初学者在使用直方图时经常会犯一些错误:
使用函数 hist 在现代版本的 MATLAB 中。虽然它仍然有效,但最好升级到 histogram.比较不同的直方图时忘记进行归一化。这可能会导致 误解.尝试表示非数字数据,而无需先进行转换。直方图适用于 数字,如果未分类则没有字符串。创建直方图的最佳实践为了充分利用 MATLAB 中的直方图,请记住以下几点:
使用清晰的颜色和标签制作图表 清晰.确保你正确理解 垂直比例:是原始频率还是概率密度?如果有必要,请使用标题、轴标签和图例来记录直方图。探索交互式选项,例如使用 histfit 以适应理论分布函数。掌握 MATLAB 中直方图的使用方法至关重要,它能够直观有效地分析数据。从使用几个命令创建图形等基本功能,到操作直方图对象或分析图像等更高级的功能,MATLAB 提供了以图形方式呈现数据的完整解决方案。了解如何正确使用该函数 histogram自定义容器、规范化和调整图形样式不仅可以让您获得更具吸引力的视觉效果,还可以执行更准确、更具信息量的分析。
万用表精通工业和家用软件、开发和应用的专家。我们乐于充分利用市面上所有软件、程序、应用、工具和操作系统的潜力。