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

1 Ansicht (letzte 30 Tage)
Vedasri Godavarthi
Vedasri Godavarthi am 25 Sep. 2017
Beantwortet: Star Strider am 25 Sep. 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

Antworten (1)

Star Strider
Star Strider am 25 Sep. 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.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by