How can i find maximum value at each (x,y)location and the plane which contains it in a multidimensional matrix
1 回表示 (過去 30 日間)
古いコメントを表示
I have multiple matrices of (M by N) sizes. I need to find which among them contains maximum value at each location(x,y). For loop is very time consumming. Need vectorized operation. Using Matlab 2016 version. Thanks.
0 件のコメント
採用された回答
Star Strider
2019 年 8 月 24 日
Try this:
M = 10;
N = 15;
A1 = rand(M,N); % Create Matrix
A2 = rand(M,N); % Create Matrix
A3 = rand(M,N); % Create Matrix
A4 = rand(M,N); % Create Matrix
Acat = cat(3, A1, A2, A3, A4); % Concatenate Along Dimension 3
[Max,MaxIdx] = max(Acat, [], 3); % Find Max & inIndex Along Dimension 3
The ‘Max’ value is the value of the maximum amongst the matrices created y ‘Acat’, and ‘MaxIdx’ is the matrix with that value, correspoinding to the order in which you concatenated them.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!