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

1 次查看(过去 30 天)
Yuki Koyama
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 CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!