フィルターのクリア

Most Frequent letter in a Matrix. Help Please!

1 回表示 (過去 30 日間)
João
João 2013 年 12 月 22 日
コメント済み: Image Analyst 2014 年 1 月 2 日
Good night all,
I have a group of letters in a matrix, now I want to get a new matrix with the most frequent letter in groups of 4 rows.
So I have a matrix like this;
A
AB
AB
AB
B
B
B
B
(...)
and I want this;
AB
B
(...)
I'm reading the matrix with
[~,txt] = xlsread('Cópia de 2012_15min.xls','JAN','B25:B3000');
and I already tried
res = char( mode( double( reshape( txt, 4, [ ] ) ) ) )
but I'm getting an error
??? Error using ==> double Too many input arguments.
Error in ==> Untitled at 37 res = char( mode( double( txt, 4, [ ] ) ) )

採用された回答

Image Analyst
Image Analyst 2014 年 1 月 2 日
% Create sample data
letters = {...
'A'
'AB'
'AB'
'AB'
'B'
'B'
'B'
'B'}
% Now find unique letter pairs
uniqueLetters = unique(letters)
  5 件のコメント
João
João 2014 年 1 月 2 日
編集済み: João 2014 年 1 月 2 日
That's not making what I want maybe I was not clear. I have 2975 rows, in these rows I have letters like A B AB C, now I want to get a new matrix with the most frequent letters in groups of 4 rows.
So I have A A A A B B B C C C C D (...) and want a new matrix with A B C (...) so I will get a new matrix of letters with 744 rows
I'm now trying to use this code
[M,N] = size(txt); %# Matrix size
nSub = 744; %# Number of submatrices
novo = mat2cell(txt,diff(round(linspace(0,M,nSub+1))),N);
for i=1:744
[unique_strings, ~, string_map]=unique(novo{i})
most_common_string(i)=unique_strings(mode(string_map))
end
So I'm trying to split the matrix of 2975 rows into 744 new matrices of 4 rows, now I want to get the most frequent letter in each of the new matrices.
Image Analyst
Image Analyst 2014 年 1 月 2 日
Sorry but I don't understand. You say you want "a new matrix of letters with 744 rows" and then you say want "744 new matrices of 4 rows" so I have no idea how many matrices you want (1 or 744) and how many rows (4 or 744) are supposed to be in it or them. And I don't know how you can find " the most frequent letter in each of the new matrices" if you don't count the letters (i.e. take the histogram like I did).
Hopefully someone else will understand you perfectly and supply you with a solution, because I can't.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by