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

17 views (last 30 days)
Tatsuya Onishi
Tatsuya Onishi on 14 Sep 2021
Commented: Atsushi Ueno on 18 Sep 2021
このサイトの 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 Comments
Tatsuya Onishi
Tatsuya Onishi on 16 Sep 2021
返信ありがとうございます。
読み込みですが,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 on 18 Sep 2021
>開くだけならできました。その後の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 するために変更してはいけません。

Sign in to comment.

Answers (1)

takemoto
takemoto on 15 Sep 2021
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 Comments
Tatsuya Onishi
Tatsuya Onishi on 16 Sep 2021
回答ありがとうございます。
無事波形図を出力することができました。今後EEGLABを用いて解析していくのですが,今は取り急ぎで波形図が出力したかったので,非常に参考になります。ありがとうございます。
Atsushi Ueno
Atsushi Ueno on 18 Sep 2021
おめでとうございます。plotできたのですね。
「取り急ぎplotだけ」であれば、本回答のように素のMATLABでもplot出来ますね。

Sign in to comment.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!