微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 scipy 库在 fft 中绘制实部和虚部的图?

如何解决如何使用 scipy 库在 fft 中绘制实部和虚部的图?

我有以下代码,我从互联网上获取它,我正在尝试逐行理解然后改进它。除了一部分,我都明白了。 当我们绘制频率图时,为什么我们取 N//2 作为向量的长度? 当我将其更改为 N 时,它给了我错误

ValueError: x 和 y 必须具有相同的第一维,但具有形状 (600,) 和 (300,)

import numpy as np
from scipy.fftpack import fft
import matplotlib.pyplot as plt

N = 600 
sample_frequency = 800 
T = 1.0 / sample_frequency

x = np.linspace(0.0,N*T,N)



y = np.sin(10.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x) 


yf = fft(y)


xf = np.linspace(0.0,1.0/(2.0*T),N//2)

plt.figure(1)
plt.subplot(211)
plt.plot(x,y)
plt.grid()

plt.subplot(212)
plt.plot(xf,2.0/N * np.abs(yf[0:N//2]))
plt.grid()


plt.show()

另外我想做的另一件事是为虚部和实部分别绘制一个图表,除了它们的绝对值。我尝试了不同的方法,但我得到了一些错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。