正弦绘图python
如何得到由两个不同正弦波组成的图形?我写了这段代码,但它产生了两个独立的波正弦绘图python,python,matplotlib,Python,Matplotlib,如何得到由两个不同正弦波组成的图形?我写了这段代码,但它产生了两个独立的波 Fs = 1000 f = 2 sample = 1000 sample_rate= 0.1 x = np.arange(sample) noise = 0.0003*np.asarray(random.sample(range(0,1000),sample)) y = np.sin(2 * np.pi * f * x / Fs)+noise f1 = 10 x1 = np.arange(sample) y1 = np.
Fs = 1000
f = 2
sample = 1000
sample_rate= 0.1
x = np.arange(sample)
noise = 0.0003*np.asarray(random.sample(range(0,1000),sample))
y = np.sin(2 * np.pi * f * x / Fs)+noise
f1 = 10
x1 = np.arange(sample)
y1 = np.sin(2 * np.pi * f1 * x / Fs)+noise
plt.plot(x, y, x1, y1)
plt.xlabel('Time(s)')
plt.ylabel('Amplitude(V)')
plt.show()
我知道了
但是我需要买这个
除了连接两个不同信号的“尖峰”之外,这看起来更像是您正在寻找的:
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng()
Fs = 1000
def generate_noisy_signal(*, length, f, noise_amp=0):
x = np.arange(length)
noise = noise_amp * rng.random(length)
return np.sin(2 * np.pi * f * x / Fs) + noise
signal1 = generate_noisy_signal(length=1000, f=2, noise_amp=0.3)
signal2 = generate_noisy_signal(length=1000, f=10, noise_amp=0.3) + 1.5
signal = np.concatenate([signal1, signal2])
plt.plot(signal)
plt.xlabel("Time(s)")
plt.ylabel("Amplitude(V)")
plt.show()
你的问题与计算无关——它更多地与你试图绘制的函数的数学有关。你的第二个图显示了使用相同颜色绘制的两个频率和振幅不同的正弦曲线。这是可以做到的。但是你的图在x=0.5时也有一个尖峰——你需要定义它。否则很难回答你的问题。