2017-08-16 27 views
2

もう1つ、小さいベクトルの要素をベクトルに取り込む必要があります。だから今、私はすでにして私は「ベクター」を投入する可能性がどのように小さなベクトルを使ってMatlabのベクトルに値を設定する

p = [1, 2, 3, 4, 5] 

ベクトルを定義したとしすなわち

vector = [0,0,0,0,0,0,0,0,0,0] 

、私は移入する必要があり、ベクトルの長さが10であり、現在はすべてゼロであると言います結果が[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]になるように配列 "p"? 「ベクトル」の他の位置は変更しないでください。私はすでにrepmat(p, length(p))を使ってみましたが、それは私に形の何かを与えることを終わらせます[1,2,3,4,5,1,2,3,4,5]。ありがとう!

+1

[こちらのドキュメント](https://www.mathworks.com/help/matlab/math/matrix-indexing.html)をお勧めします。 – gnovice

答えて

5

vector slicingconcatenationの組み合わせを試してみては:

vector = cat(1, p, vector(5:)) 

これは速いです:

vector(1:5) = p 

より一般的には、

vector(1:numel(p)) = p 
+2

最初のオプションが正しくありません。 2番目の選択肢は、これを行う標準的な方法です。 – gnovice

+2

2番目のオプションはここに行く方法です。この 'vector(1:numel(p))= p;のように、pの大きさを変えることで、さらに一般化することができます。 – informaton

関連する問題