Re: NDSolve and vector functions
- To: mathgroup at smc.vnet.net
- Subject: [mg87872] Re: [mg87843] NDSolve and vector functions
- From: Carl Woll <carlw at wolfram.com>
- Date: Sat, 19 Apr 2008 03:33:24 -0400 (EDT)
- References: <200804181110.HAA18763@smc.vnet.net>
dh wrote: >Hello all, > >does anybody know a way to compute a vector valued function using > >NDSolve without explicitely specifying all vector components. Here is a > >simple example: Although NDSolve[{p'[t]==p[t],p[0]=={1,0}},p,{t,0,1}] works, > >NDSolve[{p'[t]==p[t]+{1,1},p[0]=={1,0}},p,{t,0,1}] > >does not work because p[t] in "p[t]+{1,1}" is treated as a scalar and > >the expression is evaluated to {1+p[t],1+p[t]} what is clearly not > >intended. Even in "IdentityMatrix[2].p[t]+{1,1}" > >"IdentityMatrix[2].p[t]" is treated like a scalar and added to the > >components of {1,1}. > >do I miss something??? > >Daniel > > > > A workaround is to define a function that takes on the desired value when it's input is numeric. For example: c[_?NumericQ] = {1,1} NDSolve[{p'[t]==p[t]+c[t],p[0]=={1,0}},p,{t,0,1}] Carl Woll Wolfram Research
- References:
- NDSolve and vector functions
- From: dh <dh@metrohm.ch>
- NDSolve and vector functions