       # Re: Plotting vector-valued functions

```> From m.g.boshier@sussex.ac.uk Fri Jan 16 18:32:25 1998
> Date: Fri, 16 Jan 1998 04:34:42 -0500
> From: Malcolm Boshier <m.g.boshier@sussex.ac.uk>
To: mathgroup@smc.vnet.net
> To: mathgroup@smc.vnet.net
> Subject: [mg10572] [mg10456] Plotting vector-valued functions
> Mime-Version: 1.0
> Content-Transfer-Encoding: 7bit
>
>     I have a problem which is related to the recent thread about
> plotting lists of functions.  In the case when a vector-valued function
> is expensive or impossible to Evaluate before plotting, Plot apparently
> forces you to evaluate the function repeatedly at each value of the
> independent parameter.  This can be very inefficient.
>     As an example, suppose that f[z] returns the eigenvalues of a 5 x 5
> matrix which is a function of z.  In general this function cannot be
> evaluated without a value for z, so
> Plot[ Evaluate[f[z]], {z, zmin, zmax}] doesn't work.
>     The only way around this that I have found is something like:
>
> Plot[{f[z][],  f[z][], f[z][], f[z][], f[z][]}, {z, zmin,
> zmax}]
>
> which of course requires 5 evaluations of f[z] for each value of z.
>     It seems that unless the head of the first argument to Plot is List,
> Plot assumes that it will evaluate to a real number and returns with an
> error if it later finds that it doesn't.  Why can't Plot trust the user
> long enough to discover that the function will evaluate to a list?
> Thanks for any solutions or explanations, Malcolm

What is with a definition like?

f[z_]:=f[z]=Module[...do something]

When f[z] is evalueted first time it stores it's result and the calls of
f[z][],...,f[z][] return with minor costs the previously
calculated vector.

Hope that helps
Jens

```

• Prev by Date: Re: Is there a 3.01 student version?
• Next by Date: Re: Re: Customizing Mathematica - keyboard
• Prev by thread: Re: Plotting vector-valued functions
• Next by thread: Re: Plotting vector-valued functions