前提・実現したいこと
現在、時刻歴データがあり、それのパワースペクトル密度を求めたいと思っています。
(専門用語で分からなくても特に問題ないので、コードのミスを見つけていただければ幸いです。)
下記のホームページを参考にしました。
参照ホームページ
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
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。