How to count repeated rows of characters using a loop?
2 次查看(过去 30 天)
显示 更早的评论
Say I have an array (I have already sorted alphabetically): results=[ABC;ABC;DEF;GHI;GHI;....]. I must use either a 'for' or 'while' loop (and I believe an 'if' statement will also make this easier) to find out how many times any repeated rows appear. i.e my above results would end up as [2;1;2;...]
thank you
3 个评论
Jan
2014-3-23
"results=[ABC;ABC;DEF;GHI;GHI;...." is no valid Matlab syntax. Is this a cell string or a CHAR matrix? Some quote characters are missing in both cases.
回答(1 个)
Image Analyst
2014-3-23
Hint: have you looked into sortrows() and unique()? If I were to do it for you, that's what I'd be looking up. Or maybe use hist(). Have you tried anything yet? Is this homework?
2 个评论
Image Analyst
2014-3-23
Jason, you should have tagged it as homework. Please do so now. OK, so you have a loop over rows - that should be obvious, right. Now what? How about having another loop inside over rows from 1 to the current row where you check the current row against all 3 column elements of all prior rows ? That seems to make sense. Now if a match is found, you'll need to increment something, and if no match is found, it's the first one found so far so you need to set the count array to 1 for that pattern. Just think it through and you'll get it. Come back with more code if you have trouble. We can't just hand over to you a turnkey solution.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!