.matファイルをEEGLABでplotする

15 ビュー (過去 30 日間)
Tatsuya Onishi
Tatsuya Onishi 2021 年 9 月 14 日
コメント済み: Atsushi Ueno 2021 年 9 月 18 日
このサイトの 1. Four class motor imagery (001-2014) の Data にある A01E.mat をグラフ化したいのですが(グラフ化したいのは,struct 内にある X というフォルダです),plotの際エラーが発生してしまいます。
EEGLAB Wikiには一通り目を通し,ロードの方法を変えて試したのですが,うまくいきませんでした。
以下,エラー内容です。
EEGLAB error in function var() at line 164:
エラー:sum
データ型が無効です。最初の引数は数値または論理値でなければなりません。
よろしくおねがい致します。
  3 件のコメント
Tatsuya Onishi
Tatsuya Onishi 2021 年 9 月 16 日
返信ありがとうございます。
読み込みですが,EEGLABの File > Import data > Using EEGLAB functions and plugins > From ASCⅡ/float file or Matlab array の Data file/array を Matlab .mat fileに選択すると,開くだけならできました。その後のplotでエラーが出る感じですね。
ちなみに,EEGLABのデータを.set形式で保存するのはどのような方法で行うのでしょうか?
Atsushi Ueno
Atsushi Ueno 2021 年 9 月 18 日
>開くだけならできました。その後のplotでエラーが出る感じですね。
開けました!でもplotできませんね。EEGLABが想定しているデータの形ではないのでしょうね。
EEGLAB error in function var() at line 148:
エラー: sum
データ型が無効です。最初の引数は数値または論理値でなければなりません。
>ちなみに,EEGLABのデータを.set形式で保存するのはどのような方法で行うのでしょうか?
サンプルデータに.set形式のデータが有った事から「一方EEGLABのデータは.set形式で保存しますが、」と発言しました。実際にEEGLABの File > Import data > Save current dataset as をクリックすると、ファイルを.set形式で保存する様なダイアログボックスが出てきます。しかし、読み込んだ A01E.mat をA01E.setとして保存しようとしたところ、下記のエラーが出て保存できませんでした。
EEGLAB error in function pop_saveset() at line 224:
エラー: reshape
要素数を RESHAPE するために変更してはいけません。

サインインしてコメントする。

回答 (1 件)

takemoto
takemoto 2021 年 9 月 15 日
MATLABの標準関数であれば、以下の手順でプロットできそうですが、いかがでしょうか?(一番目のセル配列を取り出しています)。
load A01E.mat
y = data{1};
out = y.X;
t = 0 : 1/y.fs : (length(out)-1)/y.fs;
plot(t, out), grid
  3 件のコメント
Tatsuya Onishi
Tatsuya Onishi 2021 年 9 月 16 日
回答ありがとうございます。
無事波形図を出力することができました。今後EEGLABを用いて解析していくのですが,今は取り急ぎで波形図が出力したかったので,非常に参考になります。ありがとうございます。
Atsushi Ueno
Atsushi Ueno 2021 年 9 月 18 日
おめでとうございます。plotできたのですね。
「取り急ぎplotだけ」であれば、本回答のように素のMATLABでもplot出来ますね。

サインインしてコメントする。

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!