如何为矩阵的每个值创建直方图

43次观看(过去30天)
阿迪
阿迪 于2020年5月13日
评论: 阿迪于2020年5月14日
大家好,
我有一个300x332的双矩阵,我需要从矩阵中具有矩阵的每个值的直方图。我将通过一个简单的例子解释:
假设我有m = [1,1,2,3;0,4,2,2;1,1,1,1] IWant有一个直方图,它会告诉我我在先前的所有矩阵验证中都有多少次矩阵。例如,值1的值将具有高度为50%的箱。
我使用直方图Func,并且只能获得宽的垃圾箱,这些箱子只有在2之间只有一个值1的值1之间的值,然后在4到依照之间。
后来我需要提取对应于整个矩阵的80%-90%的矩阵值
我该怎么做?
谢谢

答案(1)

Ruger28.
Ruger28. 于2020年5月13日
编辑:Ruger28. 于2020年5月13日
m = [1,1,2,3;0,4,2,2;1,1,1,1];
n = m(:);%作出矢量
[sortedmat,i] = sort(n);%排序数据
[Unvals,UIDX] =唯一(SortedMat);%获得唯一值
p = histcounts(sortedmat);%获得显示的次数
num_of_elems = numel(m);%获得矩阵中的值总数
百分点= p / num_of_elems;%分裂以获得百分比矩阵
酒吧(Unvals,百分比);% 阴谋
Xlabel(“价值”);
ylabel('百分比 [%]');
1条评论
阿迪
阿迪 于2020年5月14日
嗨,我尝试了你的代码,但是当我暗示我的代码时它不起作用,p节目后的p是与unvals相同的长度。我和你所做的完全相同,刚用137x367的Gmag替换了m。
我附上了我的工作空间的形象。
怎么了?
谢谢你!!

登录评论。

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!