How to get a matrix of all maximum values of elements of multiple matrices of the same size?
12 ビュー (過去 30 日間)
I want to get a matrix filled with elements that are the highest number of the element in other matrices on the same location in that matrix. The solution should work for large matrices, so manual labour is no option.
Simple example: I have matrix A, B and C of the same size. I want to form matrix D with in position 1,1 the max of A(1,1), B(1,1) and C(1,1). The same for position 1,2 etcetera. Matrix D is formed this way manually in the example below. I would like to have a code for this action, suitable for (very) large matrices.
A= [1 2 3; 4 5 6];
B= [6 5 4; 3 2 1];
C= [4 4 4.5; 4.5 4 4];
%Magic happens. Please help me with a code for this sorcery to find the result:
D = [6 5 4.5; 4.5 5 6]
Jackson Burns 2019 年 9 月 29 日
Here's a function I wrote to do the task. It assumes that the three input arrays are the same dimensions.
function outarray = findmaxes(inarray1,inarray2,inarray3)
outarray = zeros(size(inarray1));
for i = 1:numel(inarray1)
outarray(i) = max([inarray1(i) inarray2(i) inarray3(i)]);
Call it like this:
maxarray = findmaxes(A,B,C)