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 ;
Is this even possible? If so, I do not know how do provide the proper y initial value yinit or the y calculated value y(end). Any suggestions would be appreciated. Thanks very much in advance.

1 个评论

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
Walter Roberson 2011-5-9

0 个投票

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 的更多信息

产品

标签

提问:

2011-5-9

Community Treasure Hunt

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

Start Hunting!

Translated by