在 Python 中,有没有一种方法可以在不使用循环的情况下生成多个正弦波?
Is there a way to generate multiple sine waves without using loop in Python?
我正在尝试生成多个正弦波,但我想避免使用循环。有没有办法像在 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: operands could not be broadcast together with shapes (5,) (500,)
有没有什么方法可以在不使用循环的情况下创建具有 5 个不同频率的正弦波?
你需要重塑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)
我正在尝试生成多个正弦波,但我想避免使用循环。有没有办法像在 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: operands could not be broadcast together with shapes (5,) (500,)
有没有什么方法可以在不使用循环的情况下创建具有 5 个不同频率的正弦波?
你需要重塑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)