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
10 views (last 30 days)
Show older comments
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
Answers (1)
KSSV
on 24 Oct 2017
Edited: KSSV
on 24 Oct 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 Comments
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!