Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正弦绘图python_Python_Matplotlib - Fatal编程技术网

正弦绘图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时也有一个尖峰——你需要定义它。否则很难回答你的问题。