[SciPy-user] how to make a sinc(x) function - "divide by zero" !
arnd.baecker at web.de
Mon Dec 12 11:39:29 CST 2005
On Mon, 12 Dec 2005, Sebastian Haase wrote:
> I was trying to implement a "sinc" [sin(x)/x] in numarray. But the
> "where"-semantics makes it choke on the x=0: 0/0 case.
> (This should of course work for x being an array - so "if" is no option)
> The best I could come up with was:
> def sinc(r):
> a = na.where(r, na.divide(na.sin(r),r), 1)
> return a
> but I still seem to get a warning...
> >>> F.sinc(0)
> Warning: Encountered invalid numeric result(s) in divide
> What is a better way of doing this ?
Yuo could try to use `vectorize` (warning: untested code)
if x==0.0: # presumably better to check for small x
return 0.0 # here ...
More information about the SciPy-user