Finding the matrix with the most elements?
14 次查看(过去 30 天)
显示 更早的评论
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
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
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 个评论
更多回答(2 个)
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
0 个评论
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)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Operators and Elementary Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!