MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Plot Complex Interpol .Func.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg9589] Re: [mg9561] Plot Complex Interpol .Func.
  • From: jpk at max.mpae.gwdg.de
  • Date: Thu, 13 Nov 1997 23:24:01 -0500
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Debbie,

You had several errors in the line:

ParametricPlot[f /. soln[[1]], {a, 0.00005, 1}]

a) f /. soln[[1]] will evaluate to an InterpolatingFunction[]
   without an argument, so Your [a] is missed. The correct form is

   f[a] /. soln[[1]]
   
b) Attributes[ParametricPlot] has the attribute HoldAll. So You need 

   Evaluate[f[a] /. soln[[1]]]   
   
c) Your function is complex valued and I don't know what type of plot
   You have in mind when You say ParametricPlot[]. A curve in the plane
?
   For that type of plot You must say that the x-coordinate in plane
   is given by Re[f[a]] and the y-coordinate by Im[f[a]]. So

   ParametricPlot[
     Evaluate[
       {Re[#],Im[#]} & @ (
         f[a] /. soln[[1]]
        )
       ], 
     {a, 0.00005, 0.785348}]    
     
     will create that type of graphics.
     
     More common in quantum mechanics is to draw the absolute Value of
the
     wavefunction and/or real and imaginary part. This is done by the
Plot[]
     function
     
     Plot[
       Evaluate[
         {Re[#],Im[#],Abs[#]} & @(
           f[a] /. soln[[1]]
          )
        ], 
        {a, 0.00005, 0.785348}
       ]

Hope that helps
  Jens
> From jleddon at cyberramp.net Thu Nov 13 10:50:56 1997
> Date: Thu, 13 Nov 1997 01:40:23 -0500
> From: Jim Leddon <jleddon at cyberramp.net>
To: mathgroup at smc.vnet.net
> To: mathgroup at smc.vnet.net
> Subject: [mg9589] [mg9561] Plot Complex Interpol .Func.
> 
> I am trying to solve the schrodinger equation  as follows and I want to
> be able to plot the resulting interpolating function (which should
> contain complex values). 
> 
> In[6]:=Schrodinger[V_,A_] := D[f[a],{a,2}] + (V - A)f[a]]
> 
> In[7]:= R[x_,y_] := x + I y
> 
> In[8]:= V[R_,a_] := 
>   		R[1,2](-1/(Cos[a]  - Sin[a]) -1/Sin[a] + 1/Cos[a])
> 
> In[9]:= eq1 = 0 == Schrodinger[V[R,a],-900] Out[9]= 0==f[a] (900 + (1 +
> 2 I) (-Csc[a] + Sec[a] - 
>                   1/(Cos[a] - Sin[a])) + f''[a]
> 
> In[10]:=  soln =NDSolve[{eq1, f[0.00005] ==0, f'[0.00005] ==.5}, 
>       			f, {a, 0.00005, 0.785348}][[1]] Out[10]=
> 	{f->InterpolatingFunction[{{0.00005,0.785348}},"<>"]}
> 
> In[11]:= ParametricPlot[f /. soln[[1]], {a, 0.00005, 1}]
> 
> The error message I got at this point was:
> 	function f/. soln[[1]] cannot be compiled; plotting will proceed..  f/.
> soln[[1]] does not evaluate to a real pair of numbers
> 		at a =0.000050041664...., etc.
> 
> What went wrong ? How can I plot the interpolating function?
> 
> Thanks in advance for your help!
> Debbie Leddon
> jleddon at cyberramp.net
> 
> 


  • Prev by Date: Programming Challenge
  • Next by Date: Re: Color Printing of simple graphs
  • Previous by thread: Plot Complex Interpol .Func.
  • Next by thread: RE: Plot Complex Interpol .Func.