0

600 万を超えるレコードを含む MySQL テーブルがあり、それぞれにエポック タイムスタンプがあります。すべてのタイムスタンプを時刻全体でプロットする必要があります。つまり、午前 7 時から午前 8 時まで、午前 8 時から午前 9 時までなど、1 日の 24 時間ブロックすべてについて、タイムスタンプの数を確認する必要があります。曜日や月ごとにプロットする必要はありません。1 日の時刻だけです。各タイムスタンプは UTC です。

誰かが私を助けることができますか?

4

1 に答える 1

1

MySQL のFROM_UNIXTIME関数を使用してデータベースから日付文字列を取得し、結果をファイルにダンプして、後で MATLAB に読み込むことができます。次に、各レコードの時刻を抽出する方法の 1 つは、MATLAB のdatevec関数を使用して、日付文字列の各コンポーネントを個別に取得することです。

datevec('2007-11-30 10:30:19')

ans =

    2007          11          30          10          30          19

たとえば、日付文字列を含む 1 つの長いベクトルとしてデータを読み込む場合、datevecこのベクトルに適用し、その後、結果の行列の「時間列」を取得できます。次に、ビンの中心を指定するかビンのエッジを指定するかに応じて、関数histまたは関数を使用して度数のヒストグラムを作成できます。histc時間列がある場合はH、次のようなものが機能hist(H, 0:23)するはずです。このhistc関数は、データの性質上、もう少し自然かもしれませんが、少し複雑です。ドキュメントを確認してください。

于 2012-04-30T15:25:20.973 に答える