我有一个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