如何利用MATLAB进行傅里叶逆变换并画出频域和时域的图形

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:17:28
我需要将一个频域的图形进行傅里叶逆变换,例如非周期矩形波,画出频域的图形还有画出时域图形。我刚刚开始接触MATLAB,自己编了个程序,就是画不出时域的图啊!而且报错如下:
Error using ==> plot
Vectors must be the same lengths.

我的烂代码:
f=1000*(-256:256)/512;
Y=rectpuls(f,100*pi);
subplot(2,1,1)
plot(f,Y);
t=-2:0.001:2;
x=ifft(Y);
subplot(2,1,2)
plot(t,x);
就算改为了plot(x),是可以画图了,但是还不是正确的答案啊。单门矩形脉冲的傅里叶逆变换应该是抽样函数啊,而我所得是一篇涂鸦啊!应该是我的代码是错的吧~希望高手指点啊! 现在Y是关于频率的偶函数啊,那么它的时域函数就是实函数啊~难道这样还是要说明画哪部分?

你 x = ifft(Y) 这样出来的x和Y同样的长度,跟t不等长. 直接plot(x)就行了么

我以为你知道呢...算傅氏变换,都是有实部,虚部啊,哪能就这么直接画图呢?先弄清楚定义和怎么求,再编代码吧。
从报错可以得到的是你的向量元素个数或者是数组的行列数在函数编辑和计算结果中不对应,很可能是设置的数量不够。

从报错可以得到的是你的向量元素个数或者是数组的行列数在函数编辑和计算结果中不对应,很可能是设置的数量不够。

你 x = ifft(Y) 这样出来的x和Y同样的长度,跟t不等长. 直接plot(x)就行了么

我以为你知道呢...算傅氏变换,都是有实部,虚部啊,哪能就这么直接画图呢?先弄清楚定义和怎么求,再编代码吧。