簡體   English   中英

如何在MATLAB中找到矩陣所有行中出現的值的頻率?

[英]How do I find frequency of values appearing in all rows of a matrix in MATLAB?

我在MATLAB中有一個161 * 32矩陣(標記為“indpic”),我試圖找到連續出現的給定數字的頻率。 所以我認為我需要分別為每個值分析每一行,但我非常不確定如何解決這個問題(我只是MATLAB的新手)。 這也意味着我對循環和其他東西都非常無用。

任何幫助將不勝感激!

如果要計算每行中顯示特定數字的次數,可以執行以下操作:

sum(indpic == val, 2)

indpic是你的矩陣( 例如圖像), val是要計算的期望值。

說明:使用該值檢查每個元素的相等性,在計數值的位置處生成一個“1”的布爾矩陣。 對每一行求和( 即,沿第二維求和,得到所需的列向量,其中每個元素等於在相應行中重復val的次數)。

如果要計算圖像中每個值重復的次數,這稱為直方圖 ,您可以使用histc命令來實現該目標。 例如:

histc(indpic, 1:256)

計算圖像indpic每個值從1到256出現的indpic

像這樣,

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

顯然將7變為任何東西。

你可以寫

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

並且它將在矩陣“indpic”的“row_num”行中為您提供等於“some_value”的元素數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM