欢迎访问宙启技术站
智能推送

使用Python编程绘制cos()函数的傅里叶级数展开图

发布时间:2023-12-28 00:28:47

傅里叶级数是一种数学方法,用于将周期函数表示为一系列正弦和余弦函数的线性组合。cos()函数是一个周期函数,可以通过傅里叶级数展开来表示。

首先,我们需要导入所需的库:

import numpy as np
import matplotlib.pyplot as plt

接下来,我们定义cos()函数和傅里叶级数展开函数:

def my_cos(x):
    return np.cos(x)

def fourier_series(x, n):
    result = 0
    for i in range(1,n+1):
        result += (np.sin((2*i-1)*x)/((2*i-1)))
    return (4/np.pi)*result

在以上代码中,my_cos()函数是用来计算cos()函数的值,而fourier_series()函数用来计算傅里叶级数展开的近似值。n是展开的级数,表示我们将使用多少个正弦函数来近似cos()函数。

接下来,我们可以生成一组x和y的值来绘制原始的cos()函数和傅里叶级数展开的近似函数:

x = np.linspace(0, 2*np.pi, 1000)
y_cos = my_cos(x)
y_fourier = fourier_series(x, 10)

在以上代码中,我们使用np.linspace()函数生成了一个等间距的x值数组,从0到2π,包含1000个点。然后,我们分别计算了cos()函数和傅里叶级数展开函数的y值数组。

最后,我们可以使用matplotlib库将这两个函数绘制在同一张图上:

plt.plot(x, y_cos, label='cos(x)')
plt.plot(x, y_fourier, label='Fourier Series (n=10)')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()

在以上代码中,我们通过plt.plot()函数分别绘制了cos()函数和傅里叶级数展开函数的曲线。其中,label参数用于标记每个函数,plt.xlabel()和plt.ylabel()函数用于设置x轴和y轴的标签,plt.legend()函数用于显示图例。

运行以上代码,可以得到一张包含cos()函数和傅里叶级数展开函数的图像。你可以自己尝试不同的展开级数,看看傅里叶级数展开函数与cos()函数之间的近似程度。

以下是一个完整的例子代码:

import numpy as np
import matplotlib.pyplot as plt

def my_cos(x):
    return np.cos(x)

def fourier_series(x, n):
    result = 0
    for i in range(1,n+1):
        result += (np.sin((2*i-1)*x)/((2*i-1)))
    return (4/np.pi)*result

x = np.linspace(0, 2*np.pi, 1000)
y_cos = my_cos(x)
y_fourier = fourier_series(x, 10)

plt.plot(x, y_cos, label='cos(x)')
plt.plot(x, y_fourier, label='Fourier Series (n=10)')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()

希望这个例子能够帮助你理解如何使用Python编程绘制cos()函数的傅里叶级数展开图。如果有任何问题,请随时向我提问。