iterating over an ode solver

5 visualizaciones (últimos 30 días)
Romio
Romio el 1 de Abr. de 2019
Comentada: Star Strider el 1 de Abr. de 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 comentario
Star Strider
Star Strider el 1 de Abr. de 2019
You are apparently not passing your parameters to your functions. See the documentation on Parameterizing Functions (link).

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by