Re: bvdae error when using NDSolve for initial value problem
- To: mathgroup at smc.vnet.net
- Subject: [mg102123] Re: bvdae error when using NDSolve for initial value problem
- From: Roland Franzius <roland.franzius at uos.de>
- Date: Thu, 30 Jul 2009 05:31:10 -0400 (EDT)
- References: <h4m4ec$ef0$1@smc.vnet.net>
Damon schrieb: > 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. You cannot set intermediate values like that for timer[1] in an initial value problem for a system of ODE's. -- Roland Franzius