プログラムのパラメータをforで変更し実行した後値を格納したい
Show older comments
お疲れ様です.
表題の件ですが,現在シミュレーションプログラムを書いていて,パラメータを変更し繰り返し実行し値を格納するという作業を行いたいのですが,以下のコードでは行列の形式が合わないというエラーを吐きます.
vo_vector = zeros(3,10);
for i = 1:10
w = [0 0 i]';
Spin_Top_Sim_1
vo_vector(:,i) = vo;
end
Spin_Top_Sim_1というのが件のシミュレーションのプログラムです.w=[0 0 i]とし,ループを進めるごとに別のパラメータをSpin_Top_Sim_1に与えプログラムを実行すると毎回異なるvoを出力します.そのvoをvo_vector(3×10行列)に繰り返し回数の10回分格納したいのですが,どのようにループを書き換えればよいでしょうか.ご教授お願いします.
5 Comments
Atsushi Ueno
on 24 Dec 2021
Edited: Atsushi Ueno
on 24 Dec 2021
voが列ベクトル(n×1行列)であれば、vo_vector(n×10行列)に追加していく事が出来ます。
size(vo)と入力すると何×何行列と表示されますか?
vo = [1;2;3]; % これは正しいデータの例。本来はSpin_Top_Sim_1の出力
size(vo)
Shumpei Hosokawa
on 25 Dec 2021
データ例で埋めてもエラーは出ないので、Spin_Top_Sim_1がiの値を変更していると断定できます。
vo_vector = zeros(3,10);
for i = 1:10
w = [0 0 i]';
vo = [1 2 3]'; % これは正しいデータの例。本来はSpin_Top_Sim_1の出力
vo_vector(:,i) = vo;
end
vo_vector
Shumpei Hosokawa
on 25 Dec 2021
Atsushi Ueno
on 25 Dec 2021
それもSpin_Top_Sim_1の処理がなければ有り得ない動作なので、Spin_Top_Sim_1がkの値を変更していると断定できます。
Accepted Answer
More Answers (0)
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!