[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: solving odes

**From**: |
Thomas Shores |

**Subject**: |
Re: solving odes |

**Date**: |
Thu, 16 Jun 2011 14:01:43 -0500 |

**User-agent**: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Thunderbird/3.1.10 |

On 06/15/2011 06:44 AM, Piotr wrote:

Hello. I want to solve numerically the system of ODEs:
$y_0(t)=some\_given\_function,$
$y_n'(t)=y_n(t)a(t)+y_{n-1}(t)b(t)+y_n(t)x(t), y_n(0)=y_n, n>0,$

`where $a, b$ are given functions and $x$ is the solution of the
``auxiliary problem:
`
$x'(t)=f(t,x(t)), x(0)=x_0,$
and $n>0$ is some natural number, which can be sometimes huge.

`I approximated solution of the auxiliary problem by lsode. Then I
``interpolated it by a piecewise linear function and solve the main
``equation for $n=1$ by lsode. For $n=2$ I tried to apply the same
``procedure with interpolation of $x$ and $y_1,$ but it failed. Could
``somebody suggest me a better (simpler) approach to this problem? I'm a
``newbie in Octave, so my idea is not sophisticated. I would be grateful
``for any help. Piotr.
`
_______________________________________________
Help-octave mailing list
address@hidden
https://mailman.cae.wisc.edu/listinfo/help-octave

`Looks like you're trying to do some sort of method of lines. There are
``any number of reasons for which lsode might fail, one of the leading
``being that your system might not have a solution over the interval under
``consideration (consider the innocuous looking y'(t) = 1/(1+y^2), y(0) =
``0, over the interval [0,2]). Without further information it's hard to
``tell what the problem is. One puzzling thing, though, is why you go to
``the trouble to uncouple this system. You could express it as a single
``vector IVP, of the form dY/dt = F(t,Y(t)), Y(0)=Y0, where, in your
``notation (treating x(0), y_n(0), and y_0(t) as known),
`

`Y(t) = [x(t), y_1(t), ... , y_N(t)]', (here ' means transpose, not
``derivative)
`Y0 = [x(0), y_1(0), ... , y_N(0)]', and
F(t,Y(t)) = [f(t,x(t)), (a(t)+x(t))*y_1(t)+b(t)*y_0(t), ... ,
(a(t)+x(t))y_N(t)+b(t)*y_{N-1}(t)]'
Hope this helps,
Thomas Shores

**solving odes**, *Piotr*, `2011/06/15`
**Re: solving odes**,
*Thomas Shores* **<=**