プログラムのパラメータをforで変更し実行した後値を格納したい
古いコメントを表示
お疲れ様です.
表題の件ですが,現在シミュレーションプログラムを書いていて,パラメータを変更し繰り返し実行し値を格納するという作業を行いたいのですが,以下のコードでは行列の形式が合わないというエラーを吐きます.
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 件のコメント
voが列ベクトル(n×1行列)であれば、vo_vector(n×10行列)に追加していく事が出来ます。
size(vo)と入力すると何×何行列と表示されますか?
vo = [1;2;3]; % これは正しいデータの例。本来はSpin_Top_Sim_1の出力
size(vo)
Shumpei Hosokawa
2021 年 12 月 25 日
データ例で埋めてもエラーは出ないので、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
2021 年 12 月 25 日
Atsushi Ueno
2021 年 12 月 25 日
それもSpin_Top_Sim_1の処理がなければ有り得ない動作なので、Spin_Top_Sim_1がkの値を変更していると断定できます。
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!