有人可以解释以下MATLAB
行的内容吗?
fft( data3D, N, dim );
data3D
是一个大小为(NY, NX, NZ)
的数组。 MATLAB
文档说
fft(X,[],DIM)
或fft(X,N,DIM)
在维度fft
中应用DIM
操作。
当输入为fft
数组时,3D
在维度上的确切计算结果是什么?
答案 0 :(得分:2)
要扩展@Oliver Charlesworth,命令fft(X,[],DIM)
应该这样做:
fft_values=zeros(size(X)); %pre-allocate the output array
if (DIM==1)
for I=1:size(X,2)
for J=1:size(X,3)
fft_values(:,I,J) = fft(squeeze(X(:,I,J));
end
end
elseif (DIM==2)
for I=1:size(X,1)
for J=1:size(X,3)
fft_values(I,:,J) = fft(squeeze(X(I,:,J));
end
end
elseif (DIM==3)
for I=1:size(X,1)
for J=1:size(X,2)
fft_values(I,J,:) = fft(squeeze(X(I,J,:));
end
end
end