首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巨大傅立叶矩阵- MATLAB

巨大傅立叶矩阵- MATLAB
EN

Stack Overflow用户
提问于 2015-12-31 00:52:21
回答 1查看 387关注 0票数 1

我需要创建一个傅立叶矩阵,以便将其应用于一个巨大的矩阵,我需要使用spalloc将其定义为稀疏矩阵。我试过了:

代码语言:javascript
复制
F=dftmtx(N);

但是N太大了,所以我无法创建它。有没有办法解决这个问题?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2015-12-31 01:37:32

对于每一列,您可以通过省略将乘以零的条目来形成简化的DFT矩阵。就像这样

代码语言:javascript
复制
X = my_matrix;
c = column_index;

x = X(:,c);
N = length(x);
inds = find(x);
F = exp( -1j * 2*pi/N * (0:N-1)' * (inds-1) );
Xdft(:,c) = F * x(inds);

除非输入矩阵中的零不会逐列更改,否则您必须迭代列。然而,以上这些在我看来仍然是愚蠢的。我只需要一次完成一列,并使用fft()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34533655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档