У меня есть 5D матрица Cij (3,3, Nx, Ny, Nz), где Nx, Ny и Nz приведены в качестве входных данных.
Мне нужно выполнить что-то вроде этого:
for ikx=1:Nx,
for iky=1:Ny,
for ikz=1:Nz,
%Random simulation of fourier components
n=zeros((3),'double');
for j=1:9,
ncomponent=randn(2);
n(j)=complex(ncomponent(1),ncomponent(2));
%Calculation of H
H(:,ikx,iky,ikz)=dot(Cij(:,:,ikx,iky,ikz),n);
end;
end;
end;
end;
Проблема в том, что для увеличения Nx, Ny, Nz в цикле требуется очень много времени для вычисления матрицы H.
Кто-нибудь знает более быстрый способ получить H-матрицу?