Finding the matrix with the most elements?

조회 수: 3 (최근 30일)
Andrew
Andrew 2015년 1월 7일
댓글: Image Analyst 2015년 1월 7일
Hello all,
I'm kinda new to matlab so I'm still trying find my way through the way things work. That said I have a question that I need some help on:
I have 3 matrix arrays of varying sizes, called say V1, V2, and V3. How would I go about programming the code so that matlab finds the matrix with the most elements.
I want to save the number of elements in the largest matrix as it's own variable, "LarMat", and I know how to do that already, it's just that finding the largest of the three is giving me some trouble.
  댓글 수: 1
Azzi Abdelmalek
Azzi Abdelmalek 2015년 1월 7일
V1=[1 2;3 4]
V2=[0 1 2;3 4 1]
V3=[5 6 0 1;2 3 0 1;1 1 0 1]
What would be the result?

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2015년 1월 7일
This is one way:
V1 = rand(2,2);
V2 = rand(3,3);
V3 = rand(4,4);
[els,idx] = max([numel(V1) numel(V2) numel(V3)]);
The ‘els’ variable will tell you the maximum number of elements, and the ‘idx’ variable will tell you which one. (It is ‘V3’ — the third matrix whose elements are determined — here.)
  댓글 수: 3
Star Strider
Star Strider 2015년 1월 7일
My pleasure!
Thank you for the compliment.
Image Analyst
Image Analyst 2015년 1월 7일
Andrew, what was the method you were using to find "LarMat"?

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Image Analyst
Image Analyst 2015년 1월 7일
Try this:
% Check the number of elements against LarMat,
% which you say that you've computed already (or at least know how to).
if LarMat == numel(V1)
fprintf('V1 is the largest.\n');
elseif LarMat == numel(V2)
fprintf('V2 is the largest.\n');
else
fprintf('V3 is the largest.\n');
end

Chad Greene
Chad Greene 2015년 1월 7일
V1 = rand(1,5);
V2 = rand(4,3);
V3 = magic(2);
% Number of elements in each matrix:
numels = [numel(V1) numel(V2) numel(V3)];
% Max number of elements per matrix:
LarMat = max(numels)
% Matrix with most elements:
BiggestMatrix = find(numels==LarMat)

카테고리

Help CenterFile Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by