【问题标题】:Is there a way to generate multiple sine waves without using loop in Python?有没有办法在不使用 Python 循环的情况下生成多个正弦波?
【发布时间】:2021-12-30 05:17:45
【问题描述】:

我正在尝试生成多个正弦波,但我想避免使用循环。有没有办法像在 MATLAB 中那样做?

这是我尝试过的:

fs =250    
n = np.linspace(0,2,int(fs*2),endpoint=False)
frequencies = [1,3,4,12,70]
sines = np.sin(2*np.pi*frequencies*n)

当我尝试这段代码时,我得到了以下错误:

ValueError: 操作数不能与形状 (5,) (500,) 一起广播

有什么方法可以在不使用循环的情况下创建具有 5 个不同频率的正弦波?

【问题讨论】:

    标签: python signal-processing


    【解决方案1】:

    你需要重塑n。试试这个:

    fs =250    
    n = np.linspace(0.0,2.0,int(fs*2),endpoint=False)
    n = n.reshape(len(n), 1)
    
    frequencies = np.array([1,3,4,12,70])
    
    sines = np.sin(2.0 * np.pi * frequencies * n)
    

    【讨论】:

    • 谢谢,成功了。
    猜你喜欢
    • 2023-03-08
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2020-12-20
    • 2021-06-16
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多