Re: question
- To: mathgroup at smc.vnet.net
- Subject: [mg15660] Re: question
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sat, 30 Jan 1999 04:28:53 -0500 (EST)
- References: <78pa6k$cn1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Alice M. Dean wrote in message <78pa6k$cn1 at smc.vnet.net>... >Hi, I was given this address by a colleague, who said you could quickly >answer what I think is a very simple question. After I evaluate the >following in mathematica, > >DSolve[{P'[t]==0.031P[t], P[0]==5.3}, P[t],t] > >I get a result which is essentially: {{P[t] -> 5.3 E ^(0.031t)}} > >inside two sets of curly brackets. > >I would now like to compute P[10], P[100], etc. Is there a reasonable >way to do this? Thanks, Alice Dean > >~~~~~~~~~~~~~~~~~~~~~~~~~ >Alice Dean >Mathematics & Computer Science Department Skidmore College >Saratoga Springs, NY 12866 > >Phone: (518) 580-5286 >Fax: (518) 580-5936 >Skidmore College Information: (518) 580-5000 E-mail: >adean at skidmore.edu >WWW: http://www.skidmore.edu/~adean >~~~~~~~~~~~~~~~~~~~~~~~~~ > Alice: I'll begin with how it can be done; then offer some explanation. HOW First extract the formula 5.3 E ^(0.031t fmla= P[t] /.{{P[t] -> 5.3 E ^(0.031t)}}[[1]] 5.3E^(0.031*t) You could use this directly to get the values fmla/.{{t->10},{t->100}} {7.22615,117.649} But it is usually better to define a function using the formula P[t_] = fmla; (* the semicolon stops output being displayed when this is not wanted*) Now we have {P[10],P[100]} {7.22615,117.649} Which can be done more conveniently by mapping the function P over the list {10,100,1000} P/@{10,100} {7.22615,117.649} The FullForm of P/@{10,100,1000} is Map[P, {10,100,1000}] (*please look up Map*) WHY Why a list of lists? Because, in general, equations can have several solutions for several variables. For simplicity, I'll use an ordinary algebraic problem. sol=Solve[{y ^2== x^2, y==t},{x,y}] {{x -> -t, y -> t}, {x -> t, y -> t}} Why rules instead of simply {{-t, -t},{t,t}}? (**) Because (1) the rules make clear which formula goes with which variable; and (2) they allow subsititutions of the solutions in any formula: A[x,y]/.sol {A[-t,t],A[t,t]} We can get the separate solutions sol1=sol[[1]] {x -> -t, y -> t} sol2=sol[[2]] {x -> t, y -> t} And make functions corresponding to them {x1[t_],y1[t_]}={x,y}/.sol1; Then {x1[3],y1[3]} {-3,3} Allan --------------------- Allan Hayes Mathematica Training and Consulting www.haystack.demon.co.uk hay at haystack.demon.co.uk Voice: +44 (0)116 271 4198 Fax: +44 (0)870 164 0565