自分より大きい次元数​をもつ配列に自分を代​入する方法

1 visualizzazione (ultimi 30 giorni)
Yuki Koyama
Yuki Koyama il 29 Mar 2019
Commentato: Yuki Koyama il 29 Mar 2019
たとえば,代入される側の行列をAとして
A=zeros(100,100);
として初期化します.
そのあと,あるデータの列ベクトル dataが
data=[1;2;3;4;5];
のようにあるとします.
ここで,Aにdataを代入した結果として,A(1,1)からA(5,1)までのところにデータが格納したいです.つまり代入によって行列Aは
A=
1 0 0 0 0 ...
2 0 0 0 0 ...
3 0 0 0 0 ...
4 0 0 0 0 ...
5 0 0 0 0 ...
0 0 0 0 0 ...
.............
のようにするためにはどうすればいいですか?
一例として,for構文によって
for i = 1:size(data,1)
A(i,1)=data(i,1)
end
のようにすれば一応所望の結果は得られますが,より簡潔な方法はないでしょうか.

Risposta accettata

madhan ravi
madhan ravi il 29 Mar 2019
No loops needed , use simple indexing:
A=zeros(100);
Data=(1:5).';
A(1:numel(Data),1)=Data
  1 Commento
Yuki Koyama
Yuki Koyama il 29 Mar 2019
Thank you for your very prompt answer!
I'm so happy to know the much simpler code :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!