У меня возникла проблема для преобразования оси x из DFT. Поскольку моя модель образца моей оси x находится в метрах (м), а ось y представляет собой rho (плотность длины рассеяния). После получения fft(rho)
в matlab я получу интенсивность, но не могу понять, как я должен получить ось x. Я хочу знать, есть ли конкретная формула или пределы для вычисления оси x после DFT.Преобразование оси x в DFT строго для случая неравномерно расположенных образцов в matlab
Вот мой исходный код, Я просто хочу, значения для моей оси х:
al=100;
nipam=20;
water=300;
j=1;
for i=1:15
rho(j:j+al)=2.07;
k=j+al;
rho(k:k+nipam)=0.81;
l=k+nipam;
rho(l:l+water)=-0.56;
m=l+water;
rho(m:m+nipam)=0.81;
j=m+nipam;
end
del_x=1;
xmax=6600;
x=(0:del_x:xmax);
% plot(x,rho)
A=abs(fft(rho));
I=A.^2;
% del_q=2*pi./xmax; I want to how should I get the x axis???after doing FFT
% qmax=2*pi./del_x;
% q=(0:del_q:qmax);
plot(q,I)
Да, но строго для случая неравномерно расположенных выборок. Моя ось x будет меняться, кроме умножения на '2 * pi * q', и, конечно,« q »будет работать от' q = (1: length (x) -1) ' – Mir