matlab如何画直方图

发布网友 发布时间:2022-04-19 16:20

我来回答

5个回答

热心网友 时间:2023-05-31 02:33

1、双击matlab软件图标,打开matlab软件,可以看到matlab软件的界面。

2、使用直接输入法创建一个数组v :v=[21,17,18,13,15,30,19,12,23,24,25,26,29]; 该数组用来表示直方图的统计数据。

3、使用函数hist(v);  绘制直方图。

4、使用函数title()给直方图添加标题。

5、使用函数xlabel('u')和ylabel('f'); 给坐标轴添加标签,其中直方图的面积表示频率。

6、使用语句grid on; 语句给直方添加坐标分割线,也称为网格线。

7、查看绘制的直方图,注意查看它的标题、坐标轴、网格分割线,注意直方图的面积表示频率。

热心网友 时间:2023-05-31 02:33

  首先输入两个变量,x=randn(500,1);y=randn(500,3);该语句定义x,y为正态分布随机数。记住该语句将非常有用。

  接着先绘制一个最简单的直方图,使用命令:subplot(3,1,1); hist(x);关于subplot的用法在上一篇文章中有介绍,hist(x)就是用直方图表示x,效果如图所示:

  接着使用 subplot(3,1,2);hist(x,100);其中参数100的意思是将数据分为100个组并进行绘制,如图所示;

  对比一下这句就明白参数的使用方法:subplot(3,1,3);hist(x,25);这里将数据绘制成25个直方,如图所示,下面第三个图就是;

  hist还可以这样用 a=[1 2 3];hist(x,a);这时候a是一个向量,绘制出来的图形如图所示,下面第二幅图就是,显然a变成了x轴上的刻度。

  还可以返回每一个直方的频数,使用方法是b=hist(x,100);你会得到一个数组b,有100个元素,每个元素都是100个直方之一的频数。

热心网友 时间:2023-05-31 02:34

y=[21.6782   20.3719   21.3877   21.3175   19.5967   19.7427   18.9357   20.6425   19.8752   20.4222   19.6649   18.2568   20.9944   20.0948   20.3486   19.5566   21.2797   19.1838   19.5389   20.1730   20.6692   19.3972   20.3513   18.9068   19.4997   20.3112   19.9173   20.8892   20.1107   19.9163  20.5785   20.3619   20.0586   20.3064   19.0468   18.9375   20.8671   21.0271   19.3988   19.0883   21.1236   20.1823   18.9051   20.0728   18.7595   19.8528   20.3500   18.5315   20.1973    20.0407];  % 统计数据

x = min(y):0.2:ceil(max(y)); % 确定分组

hist(y,x); % 作图

热心网友 时间:2023-05-31 02:34

是直方图还是统计直方图?如果是直方图那么每个数一个直方条,坐标间隔是不能指定的。如果是统计直方图将以0.2为间隔统计在每个区间的点数,再把点数转换为百分比,绘制。

热心网友 时间:2023-05-31 02:35

matlab中,绘制二维直方图的函数是bar,绘制三维直方图的函数是bar3,以下分别列出其用法:
调用格式:bar(x,y,选项) ,其中,x,y是维数相同的矩阵或者向量,配对的x,y按对应的列元素为横纵坐标绘制,选项是一些绘图控制选项,可选;
例如,绘制y=2exp(-0.5x)的条形图
bar3(x,y)或者bar3(y),前者在x指定的位置上绘制y中元素的条形图,后者y的每一个元素对应于一个条形。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com