关于matlab FFT问题,时域图很符合预期,但是快速傅里叶变换处理后的频域图失败了

计算出的数据进行FFT,频域信号不正确。

下图是时域图

img

下图是我得出的频域图

img

(频域图的横纵坐标代表什么?)

代码如下,v是数据。

fs=10000;
T=1/fs;
N=length(v);
n=0:N-1;
y=fft(v,N);
mag=abs(y);
f=n*fs/N;
a=f;
b=mag;

不知道是代码的问题还是别的
感谢解答

fft变换,自己看代码:
假设你有时间数组t和信号数组v,如此即可

fs = floor(1/mean(diff(t)));
x = v;
n = 2^floor(log2(length(x)));
t = t(1:n);
x = x(1:n);
L = numel(t);
%然后对x作傅里叶变换,按照采样频率1000
%这样的话就会出现200赫兹地方的双冲击
y = fft(x,n);
P2 = abs(y/L);
k = floor(L/2);
f = (0:k-1)*fs/L;
plot(f(1:k),P2(1:k))
xlabel('频率');ylabel('幅值')

一定要注意,采样频率和时间之间的关系