You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Matplotlib Pyplot绘制信号的多个周期?

实现周期重复的t²信号绘制

要让t²变成周期重复的信号,核心是对输入时间t做周期延拓处理——把任意时刻的t映射到基础周期[-π, π]内的等效值,再计算平方。以下是修改后的完整代码:

import numpy as np
import matplotlib.pyplot as plt

def periodic_function(t, T):
    # 将t映射到[-T/2, T/2)区间,实现周期延拓
    t_mod = t - T * np.floor((t + T/2) / T)
    return t_mod ** 2

# 基础周期
T = 2 * np.pi

# 定义多周期的时间范围,比如从-3π到3π(覆盖3个完整周期)
inferior_limit, superior_limit = -3 * np.pi, 3 * np.pi
time_values = np.linspace(inferior_limit, superior_limit, 3000)

# 绘制多周期信号
plt.style.use('bmh')
plt.plot(time_values, periodic_function(time_values, T), color='k')
# 添加周期分隔虚线辅助观察重复规律
for x in np.arange(inferior_limit, superior_limit + T, T):
    plt.axvline(x=x, color='gray', linestyle='--', alpha=0.5)
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.title('Periodic $t^2$ Signal (T=2π)')
plt.show()

关键修改说明:

  • 重写了函数periodic_function,新增周期参数T,通过np.floor计算每个t需要偏移的周期数,将t归一到基础周期区间内,再计算平方值。
  • 扩展时间范围到-3π到3π,直观展示多周期重复效果。
  • 添加灰色虚线作为周期分隔线,更清晰地观察信号的周期规律。

数学原理补充:

原始的t²是无界非周期函数,周期延拓的本质是把函数在基础周期内的形状复制到相邻区间,构造出周期为T的新信号。通过t_mod = t - n*T(n为整数)确保t_mod始终落在基础周期内,从而让函数值周期性重复。

内容的提问来源于stack exchange,提问作者Lipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 14:17:29