matlab的hist函数应用技巧及使用方法
如果在一个矩阵中杂乱的分布这一组数据,且数据中有重复,想统计出相同数据出现的次数,可使用以下方法:
设该矩阵为a(1,20),则可以
a=[2.57,2.9,2.87,2.82,2.49,2.69,3.09,2.91,3.0,3.058,2.92,2.84,3.23,3.1,3.02,3.11,2.87,2.95,2.92,2.73];
x=unique(a);
y=a;
[m n]=hist(y,x);
得到的结果四个角的星星n为相应的量,对应的m为n酸笋鸭在a中出现的次数。
x=unique(a);
m =[ 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1]
n =[ 2.4900 2.5700 2.6900 2.7300 2.8200 2.8400 2.8700 2.9000 2.9100 2.9200 2.9500 3.0000 3.0200 3.0580 3.0900 3.1000 3.1100 3.2300]
该方法不必对a排序后再统计,较为方便。 n(1)=2.4900 n(2)=2.5700, 2.histc函数首先说一下hist函数的作用:
traveling
hist 绘制直方图函数
n = hist(Y):将向量Y中的元素分到10个等间隔的范围内,并返回每个范围内元素的个数作为一行向量。
如果Y是一个m x p的矩阵,hist将Y的每一列作为一个向量,并返回一个10 x p的矩阵n。n的每一列的值对应Y的该列。
n = hist(Y, x)
大学生社会实践报告3000字x是一个向量,返回x的长度个以x为中心的,Y的分布情况。
例如:如果x是一个5元素的向量,返回Y在以x为中心的,x长度个范围内数据直方分布。
有用的植物
注:如果更需要制定数值边界而不是中心,可以使用histc。
美丽人生影评例如: 得到数组Y的分布情况,缺省为将数组元素分为10个区间,来统计在该区间的分布
y=[2.57,2.9,2.87,2.82,2.49,2.69,3.09,2.91,3.0,3.058,2.92,2.84,3.23,3.1,3.02,3.11,2.87,2.95,2.92,2.73]; M=hist(y) y进行个数统计(10个区间) 结果: M = 1 1 1 1 2 6 2 2 3 1 M=hist(y,5) y进行个数统计(5个区间)结果: M = 2 2 8 4 4 n = hist(Y, nbins)
nbins是一个范围,使用nbins间隔数。
[n,xout] = hist(...)
返回n和xout,包含有数目频率和间隔位置。可以使用bar(xout, n)来绘制直方图。
y=[2.57,2.9,2.87,2.82,2.49,2.69,3.09,2.91,3.0,3.058,2.92,2.84,3.23,3.1,3.02,3.11,2.87,2.95,2.92,2.73];
M=hist(y,5) [n,xout] = hist(y,5) bar(xout, n) hist(axes_handle)
使用exes_handle轴绘制,代替目前的轴(gca男士流行发型图片)。以x=[1 2 3 4 5 6],edges=[0 3 5]为例。 [n,bin]=histc(x,edges); 返回n=[2 2 1],bin=[1 1 2 2 3]。即:以edges为基准,向量n的值为:edges_k<=number(x_k)<edges_{k+1}, bin的值为x中的值分别在edges的哪个范围中(1数学家陈景润的故事就是在edges的第一个空中)。