using ode45
显示 更早的评论
I have used successfully used ode45 on several occasions. Now I am trying to "improve" my utilization. Previously I had something like ---
for i = 1 : dx
[t,y] = ode45( 'ffssl' , [0,xinit(i)], yinit ) ;
fprintf ( fp , ' %f\t%f\n' , xinit(i) , y(end) ) ;
end ;
I would like to use something such as the following ---
for i = 1 : dx
[t,y] = ode45 ( 'ffssl' , [xinit(i),xinit(i+1)], <yinit> ) ;
fprintf ( fp , ' %f\t%f\n' , xinit(i+1) , <y(end)> ) ;
end ;
1 个评论
Matt Tearle
2011-5-9
Can you explain what you're trying to achieve? It looks like you're writing out the solution at some given times (x values). But you wouldn't need a loop for that.
回答(1 个)
Walter Roberson
2011-5-9
At first glance it appears you could use
xi = [0, xinit];
for i = 1 : length(xi)-1
[t,y] = ode45 ( 'ffssl', [xi(i),xi(i+1)], yinit(i) ) ;
fprintf( fp, ' %f\t%f\n', xi(i+1), y(end) );
end
but I have no idea what your proper yinit values should be if they are not to be constant.
类别
在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!