I am still wondering why this loop saved only the last iteration? or I should call ode45 solver many times? but this is useless if there are many values for a parameter m. Please help!
loop inside ode45 solver
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, I am using loop inside ode45 solver with shooting method ,and want to store data from each iteration. My code only save the last iteration. Please help.
function F=solver(x)
m=-2:1:-1;
u1=zeros(length(m));
for k=1:length(m);
[t{k},u{k}]=ode45(@(t,u)equation(t,u,m(k)),[0 10],init1,options);
s=length(t{k});
F=[u{k}(s,2)-1,u{k}(s,4)];
u1(k)=u{k}(1,3);
end
end
for k=1:length(m);
Final=[m(k),u1(k)]
end
Antworten (1)
KSSV
am 24 Okt. 2017
Bearbeitet: KSSV
am 24 Okt. 2017
function F=solver(x)
m=-2:1:-1;
u1=zeros(length(m));
S = cell(length(m),1) ;
for k=1:length(m);
[t,u]=ode45(@(t,u)equation(t,u,m(k)),[0 10],init1,options);
S{k} = u(:,3) ;
s=length(t{k});
F=[u{k}(s,2)-1,u{k}(s,4)];
u1(k)=u{k}(1,3);
end
end
for k=1:length(m);
Final=[m(k),u1(k)]
end
3 Kommentare
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!