MathGroup Archive 2007

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

Search the Archive

Re: Plot to Plot3D problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83383] Re: Plot to Plot3D problem
  • From: Peter Pein <petsie at dordos.net>
  • Date: Mon, 19 Nov 2007 06:10:52 -0500 (EST)
  • References: <fhp603$3bm$1@smc.vnet.net>

Hi Jerry,

I guess there is a reason why you do not DSolve your equation and work with that result...

I'm using Version 5.2.

The Rf in the pattern sol[Rf_] is another one than the Rf used in the rest of your example.
To avoid trouble, use:
sol[rf_] := First@NDSolve[eqs /. Rf -> rf, vo, {t, -10, 5}]

If you use Evaluate in the Plot3D function, evaluation will take place before a value for sol[..] is known.

I used successfully
Plot3D[(vo /. sol[10^lrf])[t], {t, -2, 5/2}, {lrf, 4, 7}, PlotRange -> All, 
  AxesLabel -> {"t", "log10(Rf)", "vo"}, PlotPoints -> {33, 49}, 
  Mesh -> False]

(I changed the scale of Rf to logarithmic, because the linear scale seemed boring to me) 

HTH,
Peter


Jerry schrieb:
> Greetings all. Could someone please give me a tip on what 
> I'm doing wrong when trying to convert a working Plot 
> routine to a Plot3D routine?
> 
> I'm using V6.01 on XP.
> 
> The first code set below works fine, using a fixed value for 
> the parameter Rf.
> 
> In the second code set, I don't set parameter Rf and I try 
> to use it as one variable in Plot3D. I've tried every
> combination of set or set delayed for eqs and sol and tried 
> inserting Evaluate all over the place and haven't hit 
> goodness yet. Clearly I'm not ready for prime time on my own.
> 
> Would appreciate any suggestions.
> 
> 
> 
> (* this works *)
> a = 1.0; w = 1.57;
> Rf = 1*10^6;
> R = 1000; c = 2*10^-6;
> 
> v2[t_] := Exp[-a t^2] Sin[w t];
> v3[t_] := v2'[t];
> 
> eqs = {vo'[t] == -(v3[t]/R/c + vo[t]/Rf/c), vo[-5] == 0};
> 
> sol = NDSolve[{eqs}, vo, {t, -10, 5}]
> 
> Plot[ Evaluate[ vo[t] /. sol], {t, -5, 5} ]
> 
> **********************
> 
> (* this doesn't work *)
> a = 1.0; w = 1.57;
> (* parameter Rf specified in Plot3D below *)
> R = 1000; c = 2*10^-6;
> 
> v2[t_] := Exp[-a t^2] Sin[w t];
> v3[t_] := v2'[t];
> 
> eqs = {vo'[t] == -(v3[t]/R/c + vo[t]/Rf/c), vo[-5] == 0};
> 
> sol[Rf_] := NDSolve[{eqs}, vo, {t, -10, 5}]
> 
> Plot3D[ Evaluate[ vo[t] /. sol[Rf] ], {t, -5, 5},
> {Rf, 1*^6,5*^6} ]
> 


  • Prev by Date: Re: instantiate GUI or graphic elements interactively
  • Next by Date: Re: Basic Question about Mathematica
  • Previous by thread: Plot to Plot3D problem
  • Next by thread: Re: Plot to Plot3D problem