How to get the matrix with maximum(or minimum) number of elements
1 view (last 30 days)
Show older comments
Hi,
Suppose there are 3 matrixes A,B & C with sizes of [1 5],[1 8] and [1 9] respectively.
Is it possible to find the matrix with the maximum number of elements. Here it is C
This is the actual code I'm working on. Here I want to find that biggest matrix(y1 or y2). I know it can be done by typing length(y1) and length(y2) and choose the matrix with biggest one answer. But what I want to do is that I want to get it as an answer
load('chirp.mat');
y1 = transpose(y);
load('gong.mat');
y2 = transpose(y);
Thank you.
0 Comments
Answers (2)
Stephen23
on 27 Feb 2016
Edited: Stephen23
on 27 Feb 2016
It is much easier to perform these kind of operations when all of the data are in one variable. So that is the first thing to do: lets put them all into one cell array (this is perhaps how they should have been saved anyway):
>> A = randi(9,1,5);
>> B = randi(9,1,8);
>> C = randi(9,1,9);
>> D = {A,B,C}; % put into a cell array
Now finding the array with the most elements is trivial:
>> N = cellfun(@numel,D)
N =
5 8 9
>> [~,X] = max(N); % its index
>> D{X} % extract that array
ans =
5 7 7 6 1 1 3 5 6
2 Comments
Stephen23
on 27 Feb 2016
My pleasure. You can also accept the answer the best resolves your question.
John BG
on 27 Feb 2016
try
max(max(size(y1),size(y2)))
If you find this answer of any help solving your question, please click on the thumbs-up link, thanks in advance
John
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!