如何将前向、反向驻波两个函数合并为单个函数在同一x轴绘制
驻波绘制单函数整合方案
核心修改思路
- 把前向波、反向波的计算逻辑封装到同一个自定义函数内
- 函数支持直接传入坐标数组、样式参数,可在内部一次性完成两个波的绘制,也可返回两个波的数值供后续驻波计算使用
- 修复原代码中
linspace未带np.前缀的语法错误
完整修改后代码
import numpy as np import matplotlib.pyplot as plt # 单函数同时实现前向波、反向波的计算与绘制 def plot_bidirectional_waves(x, same_color='blue'): # 内部同时计算两个方向的行波 y_forward = np.sin(x) y_backward = -y_forward # 函数内完成两个波形绘制,可统一指定颜色避免默认配色差异 plt.plot(x, y_forward, color=same_color) plt.plot(x, y_backward, color=same_color) # 可选返回两个波的数值,用于后续驻波叠加计算 return y_forward, y_backward # 主逻辑调用 x = np.linspace(0, 4*np.pi, 10001) # 调用一次函数即可完成两个波的绘制,也可自定义统一颜色 y_f, y_b = plot_bidirectional_waves(x, same_color='steelblue') # 如需绘制驻波直接叠加两个波即可 plt.plot(x, y_f + y_b, color='red', label='合成驻波') plt.legend() plt.show()
效果说明
调用一次plot_bidirectional_waves即可完成两个方向行波的绘制,两个波形默认使用同一配色,不会出现默认自动分配不同颜色的问题;如果需要两个波用不同颜色,也可以给函数新增两个颜色参数分别控制两个波形的样式。
内容的提问来源于stack exchange,提问作者VENKATA ASHOK KUMAR NALLABALLE
相关产品推荐
相关产品推荐

