前提・実現したいこと
現在、時刻歴データがあり、それのパワースペクトル密度を求めたいと思っています。
(専門用語で分からなくても特に問題ないので、コードのミスを見つけていただければ幸いです。)
下記のホームページを参考にしました。
参照ホームページ
scipy.signal.periodogram
上記ページと全く同じコードを書いているつもりなのですが
何がいけないのでしょうか。
該当のソースコード
import numpy as np import pandas as pd from scipy import signal import matplotlib.pyplot as plt dt = 0.0001 fs = 1/dt data = pd.read_csv("cmx.csv", header=None).values.tolist() print(data) freq, pow_den = signal.periodogram(data, fs) plt.figure() plt.plot(freq, pow_den) plt.xlabel('frequency [Hz]') plt.ylabel('PSD [V**2/Hz]') plt.show()
発生している問題・エラーメッセージ
ValueError: x and y must have same first dimension, but have shapes (1,) and (1024, 1)
cmx.csv(0.0001秒ごとに128個のサンプル)
-0.006 -0.022 -0.043 -0.059 -0.064 -0.072 -0.081 -0.083 -0.092 -0.103 -0.105 -0.102 -0.104 -0.106 -0.107 -0.107 -0.101 -0.098 -0.1 -0.097 -0.089 -0.081 -0.069 -0.051 -0.034 -0.023 -0.012 0.005 0.02 0.029 0.039 0.045 0.05 0.058 0.056 0.043 0.038 0.04 0.038 0.034 0.036 0.041 0.048 0.051 0.051 0.051 0.053 0.054 0.051 0.048 0.049 0.05 0.051 0.047 0.038 0.029 0.022 0.011 -0.001 -0.011 -0.018 -0.023 -0.026 -0.031 -0.043 -0.053 -0.058 -0.066 -0.073 -0.081 -0.095 -0.105 -0.119 -0.126 -0.128 -0.129 -0.126 -0.124 -0.129 -0.126 -0.125 -0.124 -0.111 -0.102 -0.094 -0.088 -0.086 -0.071 -0.056 -0.047 -0.033 -0.017 -0.005 0.007 0.022 0.038 0.06 0.08 0.097 0.11 0.124 0.133 0.142 0.146 0.147 0.15 0.153 0.15 0.144 0.134 0.126 0.114 0.096 0.083 0.071 0.06 0.053 0.048 0.048 0.041 0.032 0.024 0.015 0.01 0.003 -0.002 -0.006 -0.013
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。