行列ECoG
とネストされた構造体TextMark
の両方を含む構造体があります。MATLAB:find関数を使用して大きなベクトルの特定の値の行番号を見つける
ECoG
は、2つの列と多くの行(10798910x2倍)を持ちます。最初の列は信号の値を表し、2番目の列は時間を表します。
TextMark
は、times
およびtext
の2つのアレイを含む。 times
(26x1 double)は、text
(26x80文字配列)で表されるイベントに対応する時間値を含みます。
私はtext
に特定の文字列のインデックスを検索し、times
で同じインデックスから時間値x
を取るスクリプトを書いています。
ECoG
の2番目の列にx
があり、値のインデックスを返します。
x = strmatch('example',output.TextMark.text)
[y] = find(output.ECoG(:,2) == output.TextMark.times(x,:))
私はこれを実行すると、戻り値は
空行列である:しかし、私は
output.TextMark.times(x,:)
の既知の値を入力すると、0行1x = strmatch('example',output.TextMark.text) [y] = find(output.ECoG(:,2) == 1.0219e+03)
戻り値はECoG
の正しいインデックスです。
output.Textmark.times(x,:) = 1.0219e+03
私は最初のコマンドが動作していない理由はわかりません。