当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Matplotlib.pyplot.csd()用法及代码示例


Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口,该模块提供了MATLAB-like接口。

matplotlib.pyplot.csd()函数

matplotlib库的pyplot模块中的csd()函数用于绘制cross-spectral密度。

用法: matplotlib.pyplot.csd(x, y, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, \*, data=None, \*\*kwargs)


参数:此方法接受以下描述的参数:

  • x, y:这些参数是数据序列。
  • Fs:此参数是标量。默认值为2。
  • window:此参数将数据段作为参数,并返回该段的窗口版本。其默认值为window_hanning()
  • sides:此参数指定要返回频谱的哪一侧。它可以具有以下值:‘default’,‘onesided’和‘twosided’。
  • pad_to:此参数包含填充数据段的整数值。
  • NFFT:此参数包含每个块中用于FFT的数据点数。
  • detrend:此参数包含应用于fft-ing之前的每个段的函数,旨在删除均值或线性趋势{‘none’,‘mean’,‘linear’}。
  • scale_by_freq:该参数允许对返回的频率值进行积分。
  • noverlap:此参数是块之间的重叠点数。
  • Fc:此参数是x的中心频率。
  • return_line:此参数包括在返回值中绘制的线对象。

返回值:这将返回以下内容:

  • Pxy:这将返回缩放前互谱P_ {xy}的值。
  • freqs:这将返回Pxy中元素的频率。
  • line:这将返回此函数创建的行。

结果是(Pxy ,freqs, line)

以下示例说明了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




相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 Matplotlib.pyplot.csd() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。