MATLAB Answers

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

2 views (last 30 days)
Yuki Koyama
Yuki Koyama on 29 Mar 2019
Commented: Yuki Koyama on 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
のようにすれば一応所望の結果は得られますが,より簡潔な方法はないでしょうか.

Accepted Answer

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

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!