如何在MATLAB中找到矩阵所有行中出现的值的频率?

如何在MATLAB中找到矩阵所有行中出现的值的频率?,matlab,rows,frequency,Matlab,Rows,Frequency,我在MATLAB中有一个161*32的矩阵(标记为“indpic”),我试图找到一行中出现的给定数字的频率。所以我认为我需要为每一个值分别分析每一行,但我非常不确定该如何进行(我对MATLAB只是一个新手)。这也意味着我对循环之类的东西毫无用处 任何帮助都将不胜感激 像这样 sum(indpic(rownum,:) == 7) 显然,将7更改为任意值。如果要计算特定数字在每行中出现的次数,可以执行以下操作: sum(indpic == val, 2) 其中,indpic是您的矩阵(例如图像)

我在MATLAB中有一个161*32的矩阵(标记为“indpic”),我试图找到一行中出现的给定数字的频率。所以我认为我需要为每一个值分别分析每一行,但我非常不确定该如何进行(我对MATLAB只是一个新手)。这也意味着我对循环之类的东西毫无用处

任何帮助都将不胜感激

像这样

sum(indpic(rownum,:) == 7)

显然,将7更改为任意值。

如果要计算特定数字在每行中出现的次数,可以执行以下操作:

sum(indpic == val, 2)
其中,
indpic
是您的矩阵(例如图像),而
val
是需要计数的值

说明:检查每个元素与该值的相等性将生成一个布尔矩阵,在计数值的位置处显示“1”。对每行求和(即沿第二维度求和得到所需的列向量,其中每个元素等于相应行中重复的次数
val

如果要计算每个值在图像中重复的次数,这称为a,您可以使用命令来实现。例如:

histc(indpic, 1:256)
计算从1到256的每个值在图像
indpic

中出现的次数,您可以直接写入

length(find(indpic(row_num,:)==some_value))

它将为您提供与矩阵“indpic”第“row_num”行中的“some_value”相等的元素数。
2
表示值沿第二维度(即行)求和。