我有3组数据,如下所示:
A=[3 1 4 2;7 9 8 3;7 5 3 6;4 1 9 3]
B=[1 0 4 5;7 7 1 3;4 7 6 5;2 2 1 9]
C=[9 1 3 7;9 6 5 5;1 4 3 2;0 3 2 1]
我需要在相互比较时找出最大值。 例如,对于每组的矩阵[1x1], A = 3,B = 1,C = 9,因此最大数量是9
表示矩阵[1x2],最大值= 1等等..
所以
final result =[9 1 4 7;9 9 8 5;7 7 6 6;4 3 9 9]
有什么建议可以解决这个问题吗?谢谢!
答案 0 :(得分:5)
您可以使用max
。对于3个矩阵的情况,只需使用
max(A, max(B, C))
如果您有三个以上的矩阵,那么编写max
个语句可能会让您感到疲惫,因此在采用最大值之前您将使用cat
max(cat(3, A, B, C, D, E), [], 3)
答案 1 :(得分:0)
你可以这样做:
A=[3 1 4 2;7 9 8 3;7 5 3 6;4 1 9 3];
A = reshape(A,[1,numel(A)]);
B=[1 0 4 5;7 7 1 3;4 7 6 5;2 2 1 9] ;
B = reshape(B,[1,numel(B)]);
C=[9 1 3 7;9 6 5 5;1 4 3 2;0 3 2 1];
C = reshape(C,[1,numel(C)]);
D = [A;B;C];
for ii = 1:size(D,2)
res(1,ii) = max(D(:,ii));
end
res = reshape(res,[4,4]);