Re: bvdae error when using NDSolve for initial value
- To: mathgroup at smc.vnet.net
- Subject: [mg102133] Re: bvdae error when using NDSolve for initial value
- From: Damon <damonwischik at gmail.com>
- Date: Thu, 30 Jul 2009 05:33:05 -0400 (EDT)
- References: <200907280605.CAA14835@smc.vnet.net> <h4p3cr$im5$1@smc.vnet.net>
Many thanks for your helpful answer, which is exactly what I was looking for. NDSolve lets me add in identities like w[u]==w1[u]+w2[u] when it is doing a straightforward "forwards" solution, and it didn't occur to me that identities like this should not occur in the boundary value problem. With your explanation, I now understand what the error message meant. Damon. On Jul 29, 5:05 am, Patrick Scheibe <psche... at trm.uni-leipzig.de> wrote: > Hi, > > your first version works if you replace the line which is no > differential equation. > > {w1'[u] == w1[u] 1/w[u] (w1[u]/w[u])^(1 - \[Epsilon]), > w2'[u] == w2[u] 1/w[u] (w2[u]/w[u])^(1 - \[Epsilon]), > timer'[u] == (p1 w1[u] + p2 w2[u]), timer[0] == 0, w1[0] == = 1.5, > w2[0] == 1} /. {p1 -> .01, p2 -> .01, \[Epsilon] -> .5, > w[u] -> w1[u] + w2[u]} > NDSolve[%, {w1, w2, timer}, {u, 0, 11}] > > Cheers > PatrickOn Tue, 2009-07-28 at 02:05 -0400, Damon wrote: > > I am trying to solve an initial value problem. I am getting the error > > message "bvdae: Differential-algebraic equations must be given as > > initial value problems". I don't know what the error means or how to > > fix my equations. I would be grateful for any help. > > > I started with the following differential equations. I want to find > > the time T when timer[T]==8.3 (or some other arbitrary value), and = I > > want to evaluate w1[T] and w2[T] at that time. > > > res = NDSolve[{ > > w1'[u]==w1[u] 1/w[u] (w1[u]/w[u])^(1-\[Epsilon]), > > w2'[u]==w2[u] 1/w[u] (w2[u]/w[u])^(1-\[Epsilon]), > > w[u]==w1[u]+w2[u], > > timer'[u]==(p1 w1[u]+p2 w2[u]), > > timer[0]==0, > > w1[0]==1.5, > > w2[0]==1 > > } /. {p1->.01,p2->.01,\[Epsilon]->.5}, > > {w1,w2,w,timer},{u,0,11} > > ] > > > I transformed this into an initial value problem in standard form as > > follows. > > > Clear[w1,w2,timer]; > > res = NDSolve[{ > > w1'[u]==T[u] w1[u] 1/w[u] (w1[u]/w[u])^(1-\[Epsilon]), > > w2'[u]==T[u] w2[u] 1/w[u] (w2[u]/w[u])^(1-\[Epsilon]), > > w[u]==w1[u]+w2[u], > > T'[u]==0, > > timer'[u]==T[u] (p1 w1[u]+p2 w2[u]), > > timer[0]==0, > > w1[0]==1.5, > > w2[0]==1, > > timer[1]==8.3 > > } /. {p1->.01,p2->.01,\[Epsilon]->.5}, > > {w1,w2,w,T,timer},{u,0,1} > > ] > > > This gives me the error I quoted at the top of this post. I would be > > grateful for hints about what I should do to solve my problem. > > > Damon.
- References:
- bvdae error when using NDSolve for initial value problem
- From: Damon <damonwischik@gmail.com>
- bvdae error when using NDSolve for initial value problem