How to pass a control parameter to feval() in a loop?

1 visualización (últimos 30 días)
Vedasri Godavarthi
Vedasri Godavarthi el 25 de Sept. de 2017
Respondida: Star Strider el 25 de Sept. de 2017
I need to feval() to take the arguments in a loop. I meant to say there is an ode function f(t,y,mu). mu is varied in each loop. So when I run feval(@ode45,@f,1:100,[1,0,0],0). I run into an error

Respuestas (1)

Star Strider
Star Strider el 25 de Sept. de 2017
’... I run into an error’
Not surprisingly.
There is no reason to use feval with ode45 when you are passing parameters to your ODE function.
See if something similar to:
for k1 = 1:something
mu = mu_vector(k1);
[T{k1},X{k1}] = ode45(@(t,x) f(t,x,mu), 1:100, [1,0,0]);
end
will do what you want.

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by