iterating over an ode solver
1 回表示 (過去 30 日間)
古いコメントを表示
Hi there,
I am writing a program to solve an ode system multiple times with different parameter values. I added the two parameters decay and peak to the ode function Full_Model, and created a loop over the ode solver.
However, when I store the responses in a 3d matrix, STORE, I get the same results. In other words, X = Y = Z
I think I am missing some kind an index to allow the storage of the new response but could not find it
here is my script (don't worry about other parameters, they already have been defined)
Thanks in advance.
options = odeset('AbsTol', 10^-6, 'RelTol', 10^-6, 'MaxStep', 0.1);
peak =0.1:0.1:0.3;
decay =0.1:0.1:0.3;
STORE = zeros(30001,4,length(peak));
for i = 1:length(peak)
for j = 1:length(decay)
[sim_t,response] = ode15s(@Full_Model, t, init_cond, options,peak(i),decay(j));
STORE(:,:,i)= response;
end
end
X=STORE(:,:,1);
Y=STORE(:,:,2);
Z=STORE(:,:,3);
1 件のコメント
Star Strider
2019 年 4 月 1 日
You are apparently not passing your parameters to your functions. See the documentation on Parameterizing Functions (link).
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!