How to get the matrix with maximum(or minimum) number of elements
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaires
Réponses (2)
  Stephen23
      
      
 le 27 Fév 2016
        
      Modifié(e) : Stephen23
      
      
 le 27 Fév 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 commentaires
  Stephen23
      
      
 le 27 Fév 2016
				My pleasure. You can also accept the answer the best resolves your question.
  John BG
      
 le 27 Fév 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
Voir également
Catégories
				En savoir plus sur Matrix Indexing dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

