假设我有两个长度为25的向量,我想计算它们的协方差矩阵.我尝试用numpy.cov做这个,但总是以2x2矩阵结束.
>>> import numpy as np
>>> x=np.random.normal(size=25)
>>> y=np.random.normal(size=25)
>>> np.cov(x,y)
array([[ 0.77568388, 0.15568432],
[ 0.15568432, 0.73839014]])
Run Code Online (Sandbox Code Playgroud)
使用rowvar标志也无济于事 - 我得到了完全相同的结果.
>>> np.cov(x,y,rowvar=0)
array([[ 0.77568388, 0.15568432],
[ 0.15568432, 0.73839014]])
Run Code Online (Sandbox Code Playgroud)
如何获得25x25协方差矩阵?
我试图在Python中以编程方式拆分wav文件.基于stackoverflow的提示以及Python wave模块的文档,我正在执行以下操作
import wave
origAudio = wave.open('inputFile.wav','r')
frameRate = origAudio.getframerate()
nChannels = origAudio.getnchannels()
sampWidth = origAudio.getsampwidth()
start = float(someStartVal)
end = float(someEndVal)
origAudio.setpos(start*frameRate)
chunkData = origAudio.readframes(int((end-start)*frameRate))
chunkAudio = wave.open('outputFile.wav','w')
chunkAudio.setnchannels(nChannels)
chunkAudio.setsampwidth(sampWidth)
chunkAudio.setframerate(frameRate)
chunkAudio.writeframes(chunkData)
chunkAudio.close()
Run Code Online (Sandbox Code Playgroud)
我迭代了许多不同的开始和结束值,并以这种方式从原始文件中提取音频块.奇怪的是,这种技术对于某些块来说非常好,并且会为其他块产生垃圾白噪声.此外,没有明显的模式,其中开始和结束位置产生白噪声,只是它一直发生输入文件.
以前有人经历过这种行为吗?或者知道我做错了什么?欢迎以编程方式更好地分割音频文件的建议.
提前致谢.