Nufftn yields only zeros for nonuniform grid. Bug?
1 次查看(过去 30 天)
显示 更早的评论
Following up a previous question from myself on this site, I decided to ask again about my second point more precisely.
My main issue is that in my test-case of a simple Gaussian the built-in MATLAB function 'nufftn' only gives a matrix of zeros as a result when using the nonuniform grid 'pcrop.mat', provided in the attachment.
in other words:
fcrop = exp(-(pcrop.^2 + pcrop'.^2 + pcrop.*pcrop'));
ftcrop = reshape(nufftn(fcrop,{pcrop,pcrop'},{pcrop,pcrop'})/2/pi,length(pcrop),length(pcrop));
yields 'ftcrop' as 2d matrix full of zeros.
Performing the same task with a interpolated uniform grid
puni=[pcrop(1):2*pcrop(end)/(length(pcrop)-1):pcrop(end)];
funi = exp(-(puni.^2 + puni'.^2 + puni.*puni'));
ftuni = reshape(nufftn(funi,{puni/sqrt(2*pi),puni/sqrt(2*pi)'},{puni/sqrt(2*pi),puni/sqrt(2*pi)'})/2/pi*(2*puni(end)/length(puni))^2,length(puni),length(puni));
gives the correct matrix 'ftuni'.
Is this a bug, or am I using the function in a wrong way? Unfortunately I dont get any error messages.
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!