iterating over an ode solver

3 vues (au cours des 30 derniers jours)
Romio
Romio le 1 Avr 2019
Commenté : Star Strider le 1 Avr 2019
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 commentaire
Star Strider
Star Strider le 1 Avr 2019
You are apparently not passing your parameters to your functions. See the documentation on Parameterizing Functions (link).

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by