Giả sử tôi có ma trận 3-dimensional
và đã tính max
dọc theo thứ nguyên thứ hai và muốn lấy chỉ số tuyến tính của giá trị tối đa. Tuy nhiên, max-function
chỉ trả về các bảng con cùng một chiều.Chỉ số tuyến tính tối đa của ma trận đa chiều - MATLAB
A = randn([5,5,5]); % Generate random matrix
[M, Ind] = max(A,[],2); % Take the max along dimension 2
Làm thế nào để chuyển index
-linear indexing
, chẳng hạn rằng
M == A(Ind)
trở thành sự thật?
Mục đích của tôi cho vấn đề này là tôi có two
multi-dimensional
ma trận và cần tính max
trong số first
một. Sau đó, tôi muốn truy cập các giá trị trong ma trận second
ở chính xác những vị trí mà tôi đã tìm thấy giá trị tối đa trong số first
.
Nếu bạn quan tâm về hiệu suất, đây là một thử nghiệm nhanh cho giải pháp được đăng ở đây - https://ideone.com/cOV5D3 – Divakar