0

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

任何帮助将不胜感激!

4

3 回答 3

2

如果要计算特定数字在每一行中出现的次数,可以这样做:

sum(indpic == val, 2)

indpic您的矩阵(例如图像)在哪里,并且是val要计算的所需值。

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

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

histc(indpic, 1:256)

计算从 1 到 256 的每个值在 image 中出现的次数indpic

于 2013-03-29T01:43:03.530 回答
0

像这样,

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

显然将 7 更改为任何内容。

于 2013-03-29T01:42:54.193 回答
0

你可以写

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

它会给你在矩阵“indpic”的“row_num”行中等于“some_value”的元素数量

于 2013-03-29T06:07:25.147 回答