用Python证明方波的谐波分量

学习matplotlib的第一天,代码如下:


def square_sigma_sin(x, n):
    """将n个三角波函数合成为方波的近似函数"""
    sum1 = 0
    for a in range(1, 2*n, 2):
        sum1 += 1 / a * math.sin(a * x)
    return sum1


N = 200                                                           # N个采样点
input_value = [4 * math.pi * x / N for x in range(1, N + 1)]      # 输入列表,两个周期,将4pi分为N份
output_value = [square_sigma_sin(x, 9) for x in input_value]      # 输出列表,将输入带入到近似函数

plt.title("Square Function", fontsize=24)
plt.axis([0, 4 * math.pi, -2, 2])
plt.xlabel("input", fontsize=16)
plt.ylabel("output", fontsize=16)
plt.tick_params(axis="both", labelsize=16)
plt.scatter(input_value, output_value, c=output_value, cmap=plt.cm.Set2, s=20)
plt.savefig('squares_plot.png', bbox_inches='tight')
plt.show()

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值