For loop data extraction
2 ビュー (過去 30 日間)
古いコメントを表示
I am having trouble finding a way to extract data at then end of a for loop with function.
for i = 1:length(height)
% solve coupled drag ODE
options = odeset('RelTol',1e-5,'AbsTol',1e-7); % ODE options
f = @(t,x) horizEqns(Isp,Wo,Wb,Wdot,msl,1,height(i),t,x); % the equations that will be solved
[t,soln] = ode45(f,[0 maxtime],[0. v0],options);
end
0 件のコメント
回答 (1 件)
Jon
2020 年 11 月 12 日
You overwrite your t and soln values with each loop iteration. If you want to save those to use them later you need to put them into arrays. Assuming t and soln have the same length each time
[t(:,i),soln(:,i)] = ode45(f,[0 maxtime],[0. v0],options);
3 件のコメント
James Tursa
2020 年 11 月 12 日
編集済み: James Tursa
2020 年 11 月 12 日
Probably because soln has more than one column.
Try this
[t,soln(:,:,i)] = ode45(f,[0 maxtime],[0. v0],options);
or this
[t,soln{i}] = ode45(f,[0 maxtime],[0. v0],options);
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!