配列インデックスのエラーメッセージについて

9 Ansichten (letzte 30 Tage)
Kirari Wada
Kirari Wada am 30 Sep. 2022
Kommentiert: Kirari Wada am 30 Sep. 2022
下記のようなプログラムで、エラーメッセージが出ます。どのように直せば良いですか。
if ~isnan(t_TRGe_V(1))==1
for t = 2:length(t_TRGe_V)-1
pFp1_V = [pFp1_V;Fp1_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pFp2_V = [pFp2_V;Fp2_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pFC3_V = [pFC3_V;FC3_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pFC4_V = [pFC4_V;FC4_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pO1_V = [pO1_V;O1_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pO2_V = [pO2_V;O2_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pP5_V = [pP5_V;P5_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
pP6_V = [pP6_V;P6_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];
end
配列インデックスは正の整数または logical 値でなければなりません。
エラー: EEG_test (行 82)
pFp1_V = [pFp1_V;Fp1_V(t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2))'];

Akzeptierte Antwort

Kojiro Saito
Kojiro Saito am 30 Sep. 2022
MATLABのエディターで該当行 (EEG_test.mの82行目)の行番号をマウスでクリックしてブレークポイントを設定してみてください。
下記の図では3行目をクリックした場合ですが、ブレークポイントが設定されると赤枠で表示されます。
【参考ドキュメント】ブレークポイントを設定する
そして再度スクリプトを実行してみて、ブレークポイントで一時停止した状態でコマンドウィンドウで
t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2)
を実行してみてください。
ここが正の整数になっていれば問題ないので、「再開」をクリックして次のfor文の繰り返しを実行します。
どこかのtの値で、t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2)がマイナスの値とか小数になっている可能性があります。
そしたらコマンドウィンドウで
t_TRGe_V(t)
analwin_eeg_V(1)
とか
analwin_eeg_V(2)
を実行して原因を特定できます。
  1 Kommentar
Kirari Wada
Kirari Wada am 30 Sep. 2022
ご教授ありがとうございます。
教えていただいたコードを入力するとエラー箇所を見つけることができました。指摘していただいた通りtの値がマイナスになっていました。
t値の範囲を修正し、無事に実行することができました。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Hernia Baby
Hernia Baby am 30 Sep. 2022
t_TRGe_V(t)+analwin_eeg_V(1):t_TRGe_V(t)+analwin_eeg_V(2)
上記が正の整数でないことが問題です。
Fp1_V の 0.001番目 と言われてエラーが起きてる感じです。
  1 Kommentar
Kirari Wada
Kirari Wada am 30 Sep. 2022
ご教授ありがとうございます。
t値の範囲を変更し無事に実行できました。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu EEG/MEG/ECoG finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!