傅里叶级数和傅里叶变换是数学和工程领域中的重要工具,特别是在信号处理、图像处理和物理学中。傅里叶级数用于将周期函数表示为正弦和余弦函数的和,而傅里叶变换用于将任意函数表示为频率的函数。
傅里叶级数:给定周期函数 ,其傅里叶级数表示为:
其中:
傅里叶变换:给定函数 ,其傅里叶变换表示为:
其逆变换为:
题目:求周期函数 在区间 上的傅里叶级数表示。
计算 :
计算 :
计算 :
因此,傅里叶级数为:
pythonimport numpy as np
import matplotlib.pyplot as plt
# 定义周期函数
def f(t):
return t
# 定义傅里叶级数展开的项数
N = 10
# 定义傅里叶级数
def fourier_series(t, N):
result = np.zeros_like(t)
for n in range(1, N + 1):
result += (2 * (-1)**(n + 1) / n) * np.sin(n * t)
return result
# 生成时间点
t = np.linspace(-np.pi, np.pi, 1000)
# 计算傅里叶级数近似
f_approx = fourier_series(t, N)
# 绘图
plt.plot(t, f(t), label='Original function')
plt.plot(t, f_approx, label='Fourier series approximation')
plt.legend()
plt.xlabel('t')
plt.ylabel('f(t)')
plt.title('Fourier Series Approximation')
plt.grid(True)
plt.show()
在实际生活中,傅里叶变换用于信号处理,例如将音频信号转换为频谱,以分析不同频率的声音成分。傅里叶级数则在分析周期信号(如振动和电波)时非常有用。通过将复杂的周期信号分解为简单的正弦和余弦分量,可以更容易地理解和处理这些信号。
dartimport numpy as np import matplotlib.pyplot as plt # 定义周期函数的频率和系数 T = 2 * np.pi # 周期 N = 5 # 傅里叶级数的项数 # 定义时间范围 t = np.linspace(-np.pi, np.pi, 1000) # 定义傅里叶级数的各项 def fourier_series_terms(t, N): terms = [] for n in range(1, N + 1): term = (2 * (-1)**(n + 1) / n) * np.sin(n * t) terms.append(term) return terms # 计算傅里叶级数的各项 terms = fourier_series_terms(t, N) # 绘图 plt.figure(figsize=(12, 8)) # 原始函数 plt.subplot(2, 1, 1) plt.plot(t, t, label='Original function') plt.title('Original Function') plt.xlabel('t') plt.ylabel('f(t)') plt.legend() plt.grid(True) # 各项的和 plt.subplot(2, 1, 2) sum_terms = np.zeros_like(t) for i, term in enumerate(terms): sum_terms += term plt.plot(t, sum_terms, label=f'Term {i+1}') plt.title('Sum of Fourier Series Terms') plt.xlabel('t') plt.ylabel('Sum of terms') plt.legend() plt.grid(True) plt.tight_layout() plt.show()
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!