Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1999

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

Search the Archive

Re: Plotting questions

  • To: mathgroup at
  • Subject: [mg19969] Re: Plotting questions
  • From: Martin Kraus <Martin.Kraus at>
  • Date: Thu, 23 Sep 1999 23:26:19 -0400
  • Organization: Institut fuer Informatik, Universitaet Stuttgart
  • References: <7sa448$>
  • Sender: owner-wri-mathgroup at

Michael Chang wrote:
> Hi again!
> Sorry, but in my rush, 

In a rush because of Mathematica? 
Wolfram would like to here that, I guess.

> I sent out the *wrong* example regarding my plotting
> difficulties in an earlier email (about 1 hour ago) today.
> I *meant* to use the following example:
> Suppose
> x(t)=(10^(1-g)-(1-g)*t)^(1/(1-g))
> where 0.5<g<1 (say).
> I want to simulate this function x(t) for varying t ... specifically,
> 0<=t<=10^(1-g)/(1-g)
> so that x(t) remains *real* for all t.  For t > t_f := 10^(1-g)/(1-g),
> define x(t)=0.
> What I'd like to do is get a parametric 3d *surface* plot with g, t as two
> axis, and x(t) as the third axis.  I've struggled with this for a while,
> but can't seem to do this using Plot3D (due to the fact that the range of
> values for t *cannot* be given as a function of g ... i.e. I must use
> {t,0,10} (say), and *not*
> {t,0,10^(1-g)/(1-g)}
> which is what I really want).

I think it is a inconsistency of ParametricPlot3D and ListSurfacePlot3D
from the Graphics`Graphics3D` package that they both do not allow the
first parameter to occure in the second iterator, because Table does
allow this construction.

Anyway, ListSurfacePlot3D from the Graphics`Graphics3D` package 
saves us (an example for ListSurfacePlot3D using Java can be found here:
yep, this is another advertisment of LiveGraphics3D! ;-)

<< Graphics`Graphics3D`

plotPoints = 15;

points = Table[
      Re[{(10^(1 - g) - (1 - g)*t)^(1/(1 - g)), g, t}], {g, 0.5, 
        1 - 0.01, (1 - 0.5)/plotPoints}, {t, 0, 10^(1 - g)/(1 - g) -
        10^(1 - g)/(1 - g)/plotPoints}];

ListSurfacePlot3D[points, PlotRange -> All, BoxRatios -> {1, 1, 1}, 
    AxesLabel -> {x[t, g], g, t}, Axes -> True, 
    FormatType -> TraditionalForm];

> I suspect that I have to change my definition of x(t) so that it knows
> that if t>t_f, then x(t) should be 0, so that I can then use a fixed
> plotrange for t, but I don't know how to do this ...

just: If[t > tF, 0, (10^(1-g)-(1-g)*t)^(1/(1-g))]
as the second argument of If is the else-part you are looking for.
> Sorry for any confusion!

We are all confused by Mathematica all the time...

> Thanks again!
> Mike!

  • Prev by Date: Re: Displaying equations in Graphics3D Text primitives
  • Next by Date: Re: Real roots and other assumptions...
  • Previous by thread: Re: Plotting questions
  • Next by thread: LaTeX format or multiline TeX