RE: change the solution to a differential equation into a user defined function - question.nb (0/1)
- To: mathgroup at smc.vnet.net
- Subject: [mg15595] RE: [mg15566] change the solution to a differential equation into a user defined function - question.nb (0/1)
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Thu, 28 Jan 1999 04:23:25 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
You can use the line at In[2] to define a function from the soln to a DE. At Out[3] we see it works. In[1]:= sol=DSolve[y'[x]==x,y[x],x]; In[2]:= y[x_]=(y[x]/.Part[sol,1]) Out[2]= \!\(x\^2\/2 + C[1]\) In[3]:= y[r] Out[3]= \!\(r\^2\/2 + C[1]\) BUT BEWARE: When you (lhs=rhs) and (lhs) contains a pattern (e.g. x_ ) you must make sure the pattern doesn't have a global value. To show what can go wrong I define h[t_]=3+Sin[t] when t=12 below. In[4]:= t=12; In[5]:= h[t_]=3+Sin[t] Out[5]= 3+Sin[12] Note the line above would work if I used: Block[{t}, h[t_]=3+Sin[t]] Cheers, Ted Ersek -----Original Message----- From: yc10 at acpub.duke.edu [mailto:yc10 at acpub.duke.edu] To: mathgroup at smc.vnet.net Subject: [mg15595] [mg15566] change the solution to a differential equation into a user defined function - question.nb (0/1) I probably have to apologize for the awkward name for the subject. My question is In[1]:= sol=DSolve[y'[x]==x,y[x],x] Out[1]= \!\({{y[x] \[Rule] x\^2\/2 + C[1]}}\) In[2]:= FullForm[sol] Out[2]//FullForm= List[List[Rule[y[x],Plus[Times[Rational[1,2],Power[x,2]],C[1]]]]] After I type in the command to solve the differential equation, I am given a replacement rule of y[x], which can be applied as a rule when the argument inside y is x, nothing else. In[3]:= y[x_]:=x^2/2+c[1] In[4]:= FullForm[y[x_]] Out[4]//FullForm= Plus[c[1],Times[Rational[1,2],Power[Pattern[x,Blank[]],2]]] When I define the same function for y[x] by myself, it is evidently a pattern where x can be taken in any value. Then comes the question: how can we use the solution given in a differential equation which itself is a function as a function for later use? It seems to be straightforward, but I have looked through the Mathematica Book and found no clue. Your help will be greatly appreciated.