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

1 回表示 (過去 30 日間)
Yuki Koyama
Yuki Koyama 2019 年 3 月 29 日
コメント済み: Yuki Koyama 2019 年 3 月 29 日
たとえば,代入される側の行列を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
のようにすれば一応所望の結果は得られますが,より簡潔な方法はないでしょうか.

採用された回答

madhan ravi
madhan ravi 2019 年 3 月 29 日
No loops needed , use simple indexing:
A=zeros(100);
Data=(1:5).';
A(1:numel(Data),1)=Data
  1 件のコメント
Yuki Koyama
Yuki Koyama 2019 年 3 月 29 日
Thank you for your very prompt answer!
I'm so happy to know the much simpler code :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange行列および配列 についてさらに検索

Community Treasure Hunt

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

Start Hunting!