我有一个文本文件(values.txt),其中包含不同的值:
100
334
400
500
245
254
1448
1448
600
1448
1448
现在我想计算每个值的百分比并在matlab中绘制它。就像值1448在文本文件中出现4次一样。 matlab中哪些功能可以帮助我完成上述任务?
答案 0 :(得分:2)
您可以使用hist
计算每个值出现的次数。但是,由于您的数字未均匀分配,您可能需要使用histc
更加努力地工作并手动定义分档的边缘。
或者,您可以使用unique
来确定数据集中用作广告代码中心的唯一元素的数量。
xx = unique( vals );
nn = hist( vals, xx );
figure; bar( xx, nn ); title('counts');
答案 1 :(得分:2)
您需要找到它们出现的唯一值和次数。在Matlab count_unique
函数中,您可以找到快速计算数组中唯一值实例数的方法:
[uniques,numUnique] = count_unique(arrayname);
之后,您可以将出现值除以总数组长度。请查看详细信息here
您还可以使用Shai's answer中提到的hist
。