Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Incredible slow Plot
Replies: 8   Last Post: Jul 13, 2011 2:27 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
David Bailey

Posts: 712
Registered: 11/7/08
Re: Incredible slow Plot
Posted: Jul 12, 2011 6:30 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 11/07/2011 11:59, Iv=E1n Lazaro wrote:
> Hi!
>
> Yes, I tried
>
> sol=NDSolve[{eqns, cond},f,{t,0,1200}][[1]];
> Plot[Evaluate[f[t]/.sol],{t,0,1200}],
>
> but that was a pain. Thanks to Bobby I managed to solve my speed problem:
>
> Instead of
>
> sol=NDSolve[{eqns, cond},f,{t,0,1200}][[1]];
> Plot[Evaluate[f[t]/.sol],{t,0,1200}],
>
> I selected the specific solutions I needed, and Set them to a variable
> that then I plot:
>
>
>
> sol=NDSolve[{eqns, cond},f,{t,0,1200}][[1]];
> a=sol[[1, Something, 2]]
> b=sol[[1, Something+1, 2]]
>
> Plot[{a[t],b[t]}],{t,0,1200}],
>
> and that was it. However I don't understand this. Was the problem the
> "size" and "amount" of interpolated functions?
>

This can only be a guess, because you didn't post a complete example. Go
back to the original, slow example, and create the expression
corresponding to the plot (without plotting it).

pl=Plot[Evaluate[f[t]/.sol],{t,0,1200}];

Does that calculation go reasonably fast - if so, it is the process of
transferring the result to the front end and actually plotting it which
is at fault.

It may now help to reduce the upper limit from 1200 to (say) 10, just
to get a simple expression. Now look at:

pl//InputForm

If this expression contains lots of Line structures, rather than a few
Line Structures containing many coordinate values, then this is the
explanation. Large structures of this sort transfer to the front end
very inefficiently.

If this doesn't work, why not post a complete example of a slow plot.

David Bailey
http://www.dbaileyconsultancy.co.uk





Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.