无法绘制Matlab二维快速傅里叶变换(FFT2)结果的问题
问题详情
- 使用Matlab的
fft2函数对4436413×3的矩阵执行二维傅里叶变换,得到同维度的复数矩阵。 - 尝试绘制变换结果时,要么得到全单色的无效图像,要么因复数数据触发报错。
已尝试的操作及问题
1. 用griddata插值生成二维数据集
针对三维点集(x、y、z)执行命令:
vq = griddata(x,y,z,x,y)
返回的是与原数据集z列完全一致的一维向量,无法生成所需的二维网格数据。
2. 用meshgrid创建查询点网格
执行命令:
[xq, yq] = meshgrid(4436412, 3)
后续基于该网格查询数据时,返回结果全为NaN。
绘图命令及结果
命令1
Y = fft2(x); imagesc(abs(fftshift(Y)))
执行后仅显示单个紫色方块,无有效频谱信息。
命令2
Y = fft2(x); imagesc(Y)
触发报错:
Error using image
Complex values are not supported. Specify the color data as numeric or logical values.Error in imagesc (line 52)
hh = image(varargin{:}, 'CDataMapping', 'scaled');
内容的提问来源于stack exchange,提问作者bluekangaroo
相关产品推荐
相关产品推荐

