Re: Complex Function Plot
- To: mathgroup at smc.vnet.net
- Subject: [mg25577] Re: [mg25541] Complex Function Plot
- From: BobHanlon at aol.com
- Date: Mon, 9 Oct 2000 01:16:42 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 10/7/2000 3:51:14 AM, rlbrambilla at cesi.it writes:
>I have often to plot the real and the imaginary part
>of a complex valued function of a real variable : f(t).
>The obvious solution is
>
>Plot[{f[t]//Re,f[t]//Im},{t,t1,t2},
> PlotStyle->{Hue[.7],Hue[.9]}]
>
>and the function is evaluated two times for each value of t.
>In the case of a long-time-eating function (as in the case
>of series expansions with hypergeometric f.,integrals with
>parameters,etc) it would be suitable a trick to evaluate
>f[t] only once.
>I'd like also to avoid to use interpolation like
>
>p=Table[f[t1+k(t2-t1)k/n],{k,0,n}];
>fr=Interpolation[p//Re,InterpolationOrder->mr];
>fi=Interpolation[p//Im,InterpolationOrder->mi];
>Plot[{fr[t],fi[t]},{t,t1,t2},
> PlotStyle->{Hue[.7],Hue[.9]}]
>
>since it requires the optimum choice of n, mr and mi
>for each (t1,t2) interval, especially if the two parts
>oscillate with very different periods.
>
>I use Math. version 3.0 .
>Any suggestion will be greatly appreciated.
f[t_] := Cos[t] + I*Sin[t];
Plot[{f[t] // Re, f[t] // Im}, {t, 0, 2*Pi},
PlotStyle -> {Hue[.7], Hue[.9]}] // Timing
Plot[Evaluate[{(func = f[t]) // Re, func // Im}], {t, 0, 2*Pi},
PlotStyle -> {Hue[.7], Hue[.9]}] // Timing
Bob Hanlon