我有一個2x2矩陣的NxN數組,我需要反轉它們中的每一個。使用Matlab(或用戶定義的函數),是否有辦法做到這一點比循環遍歷每一個並反轉它更快?我可以假定他們都是可逆轉的,並且條件良好。大量小矩陣的快速反演
例如:
% dim(A) = 2 x 2 x N x N
I = eye(2);
for i = 1:N
for j = 1:N
exphl(:, :, i, j) = expm(A(:, :, i, j));
for k = 1:M
z = r(k); %constants
zIA = (z*I-A)\I;
exphL1(:, :, i, j) = exphL1(:, :, i, j) + dt*zIA*(exp(z/2)-1);
end
end
end
作爲一個側面說明,任何人都可以告訴我爲什麼剖析說,最後一行「exphL1(...」?花費時間最多的
有一個用戶定義的函數可以完成這個[link](http://www.mathworks.com/matlabcentral/fileexchange/31222 -inversion-each-2d-slice-for-arbitrary-multi-dimension-array /) – 5o3x 2014-12-03 10:04:23