2015-12-05 21:03:04 UTC+1, Emmanuel Charpentier:
>
> Plot2d() gracefully handles plotting a fnction undefined (in real terms) 
> on part of the plotting domain. For example :
> plot(sqrt(x^2-1),(x,-3/2,3.2))
> displays two half-axes of hyperbole, and waons that some points have been 
> lost.
>
> plot3d() seems to lack this facility : an undefined point causes the loss 
> of al the plot.
>
> How would you handle this case ? I want to plot a function defined only 
> for some part of the plotting domain. I do not have an analytic definition 
> for the bounds of this domain (it is defined by an equation with no closed 
> form solution, but easily approximated by find_root()).
>

An illustration:

sage: plot(lambda x: sqrt(x^2 - 1), (-2, 2))
verbose 0 (2716: plot.py, generate_plot_points) WARNING: When plotting, 
failed to evaluate function at 99 points.
verbose 0 (2716: plot.py, generate_plot_points) Last error message: 'math 
domain error'
Launched png viewer for Graphics object consisting of 2 graphics primitives
sage: plot3d(lambda x, y: sqrt(x^2 + y^2 - 1), (-2, 2), (-2, 2))
/opt/sage69b1/local/lib/python2.7/site-packages/sage/repl/rich_output/
display_manager.py:570: RichReprWarning: Exception in _rich_repr_ while 
displaying object: math domain error
  RichReprWarning,
Graphics3d Object


One workaround might be, if your function f sometimes
returns complex output, to plot f(x) when real, and 0 otherwise.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to