Matlabでは、ベクトルA
のサイズは30x1で、ベクトルB
のサイズは3x1です。ベクトル要素を再割り当てするループmatlab
A = [1.23 2.2 3.3 4.8 5.1 6.7 7.1 8.2 9.9 10.25 11.00 12.1 13.2 14.3 15.4 16.5 17.5 18.1 19.8 20.188 21.2 22.4 23.6 24.1 25.2 26.7 27.8 28.2 29.1 30.3]';
B = [1.23 10.25 20.188];
私は
A
から
A
と同じサイズのベクトル
C
を作成したい
とB
B
で
C = [2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2]';
番号はA
の要素とまったく同じです倍、いくつかあるような離れた要素、例えばB(2)=A(10)
。
は今、私はそれがCに2
を書き込みA
のように、それがその後、書き込みますA
と同じであるB
の次の要素が見つかるまでたびにループがB
で同じ番号を見ているようなループを記述する必要があります1
を検索し、次の同じ要素が見つかるまで続けます。
B(1) = 1.23 and A(1) = 1.23 so C(1:i,1)=2; %where i is the index of the
next similar element.
このループを正確に書き込む方法についてお手伝いできますか?私はループ全体を、同じ要素の位置がどこにあるのか、または異なるサイズのベクトルを持つことができるために仮定しないようにする必要があります(これは後でスクリプトで実装する必要があります)。
ありがとうございます!
上のループは必要ないが、両方のベクトルの値が常に昇順するつもりですか? – excaza
'A'の最初の値はいつも' B'の最初の値になりますか? – excaza
'B'の値は常に' A'に入っていますか? – excaza