傅里叶级数的3D表示 包括源码

傅里叶级数的3D表示 包括源码

flyfish
傅里叶级数的基本形式 : y ( t ) = ∑ n = 1 , 3 , 5 , ... N 4 A n π sin ⁡ ( n π T t ) y(t) = \sum_{n=1,3,5,\ldots}^{N} \frac{4A}{n\pi} \sin\left(\frac{n\pi}{T} t\right) y(t)=n=1,3,5,...∑Nnπ4Asin(Tnπt)

其中, A A A 是振幅, T T T 是周期, n n n 是傅里叶级数的项数。

傅里叶级数中每一项的形式
y n ( t ) = 4 A n π sin ⁡ ( n π T t ) y_n(t) = \frac{4A}{n\pi} \sin\left(\frac{n\pi}{T} t\right) yn(t)=nπ4Asin(Tnπt)

这个公式表示傅里叶级数中每一项的贡献。

解释

t (时间) : 横坐标表示时间。
y (幅度) : 纵坐标表示傅里叶级数在该时间点的值。
f (频率) : 深度坐标表示傅里叶级数的项数对应的频率。

py 复制代码
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 定义傅里叶级数的参数
T = 2 * np.pi  # 周期
A = 1  # 振幅
N = 11  # 级数的最大项数

# 定义傅里叶级数的函数
def fourier_series(t, N, A, T):
    y = np.zeros_like(t)
    for n in range(1, N + 1, 2):  # 只考虑奇数项
        y += (4 * A / (np.pi * n)) * np.sin((n * np.pi / T) * t)
    return y

# 创建时间域和频率域的网格数据
t = np.linspace(0, 2 * T, 1000)
f = np.array([1 / T, 3 / T, 5 / T, 7 / T, 9 / T, 11 / T])
T_grid, F_grid = np.meshgrid(t, f)

# 创建3D图
fig = plt.figure(figsize=(12, 8))
ax = fig.add_subplot(111, projection='3d')

# 绘制傅里叶级数的时域图像
for n in range(1, N + 1, 2):
    y = (4 * A / (np.pi * n)) * np.sin((n * np.pi / T) * t)
    ax.plot(t, n / T, zs=y, label=f'n={n}')

# 设置坐标轴标签和刻度
ax.set_xlabel('t (时间)')
ax.set_ylabel('f (频率)')
ax.set_zlabel('y (幅度)')

# 设置坐标轴的刻度
ax.set_xticks([0, np.pi, 2 * np.pi])
ax.set_xticklabels(['0', r'$\pi$', r'$2\pi$'])
ax.set_yticks(f)
ax.set_yticklabels([r'$\frac{1}{T}$', r'$\frac{3}{T}$', r'$\frac{5}{T}$', r'$\frac{7}{T}$', r'$\frac{9}{T}$', r'$\frac{11}{T}$'])
ax.set_zticks([-A, 0, A])
ax.set_zticklabels([f'-{A}', '0', f'{A}'])

plt.title('傅里叶级数的3D表示')
plt.legend()
plt.show()
相关推荐
Little-Hu2 小时前
QML 3D曲面图(Surface3D)技术
3d·qml
易知微EasyV数据可视化20 小时前
3D高斯泼溅技术:数字孪生的新一代数据引擎
人工智能·3d·数字孪生·建模·3d高斯泼溅技术
zhongqu_3dnest21 小时前
3D实景的概念、特点及应用场景
3d
那就举个栗子!1 天前
3DGRUT: 革命性的3D高斯粒子光线追踪与混合光栅化技术深度解析
3d
DM今天肝到几点?1 天前
【7.26-7.28胜算云AI日报:首个开源3D世界生成模型腾讯混元、微软预示 8 月 GPT-5 发布、Nemotron推理、商汤悟能、DM夺金】
人工智能·vscode·microsoft·3d·ai·chatgpt
美狐美颜sdk1 天前
直播美颜SDK动态贴纸模块开发指南:从人脸关键点识别到3D贴合
3d·美颜sdk·直播美颜sdk·第三方美颜sdk·视频美颜sdk·美颜api
cpsvps1 天前
3D芯片香港集成:技术突破与产业机遇全景分析
人工智能·3d
2 天前
3D碰撞检测系统 基于SAT算法+Burst优化(Unity)
算法·3d·unity·c#·游戏引擎·sat
dzj20212 天前
Unity是如何把3D场景显示到屏幕上的——Unity的渲染过程
3d·unity·游戏引擎·渲染·图形学
小赖同学啊2 天前
GIS地理信息系统建设:高精度3D建模
3d