📜  Python中的 Matplotlib.pyplot.csd()

📅  最后修改于: 2022-05-13 01:55:25.767000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.csd()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 PyplotMatplotlib模块的基于状态的接口,它提供了一个类似 MATLAB 的接口。

matplotlib.pyplot.csd()函数

matplotlib 库的 pyplot 模块中的csd()函数用于绘制交叉光谱密度。

下面的示例说明了 matplotlib.pyplot 中的 matplotlib.pyplot.csd()函数:

示例 #1:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
   
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
nse2 = np.random.randn(len(t))
   
s1 = 1.5 * np.sin(2 * np.pi * 10 * t) + nse1
s2 = np.cos(np.pi * t) + nse2
   
plt.csd(s1, s2**2, 128, 1./dt)
plt.xlabel('Frequency')
plt.ylabel('CSD(db)')
  
plt.title('matplotlib.pyplot.csd() function Example',
          fontweight ="bold")
  
plt.show()

输出:

示例 #2:

#Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
     
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
nse2 = np.random.randn(len(t))
r = np.exp(-t/0.05)
     
cnse1 = np.convolve(nse1, r, mode='same')*dt
cnse2 = np.convolve(nse2, r, mode='same')*dt
     
s1 = 1.5 * np.sin(2*np.pi*10*t) + cnse1
s2 = np.cos(np.pi*t) + cnse2 + np.sin(2*np.pi*10*t)
     
plt.plot(t, s1, t, s2)
plt.xlim(0, 5)
plt.ylabel('s1 and s2')
plt.grid(True)
plt.show()
  
plt.csd(s1, s2, 256, 1./dt)
plt.ylabel('CSD(db)')
plt.xlabel('Frequency')
   
plt.title('matplotlib.pyplot.csd() function Example'
             ,fontweight="bold")
  
plt.show()

输出:

python-matplotlib-csd