BESSEL FUNCTION

  • Thread starter Thread starter chengj
  • Start date Start date
C

chengj

Hi !
Now I found a big problem :
bessely(4.5,6) =-0.98465430170 in excel
= -0.9846543023 in OPEN OFFICE

But when I compute Bessely using MATLAB ,the result
was - 0.05459791739132
( -0.05459791739132197 in Mathematica)


some one who can tell me which one is right ?????

Thank you very much !!!
 
Now I found a big problem :
bessely(4.5,6) =-0.98465430170 in excel
= -0.9846543023 in OPEN OFFICE

But when I compute Bessely using MATLAB ,the result
was - 0.05459791739132
( -0.05459791739132197 in Mathematica)


some one who can tell me which one is right ?????

As long as you realize that the argument order for Excel/OOo is the opposite of
that for MATLAB and Mathematica, all are accurate to 8 or so decimal digits.

In Excel, the syntax is BESSELY(x,n), but in Mathematica, it's BesselY[n,z],
where the x for Excel (which accepts only real values) corresponds to the z in
Mathematica (which accepts complex values). Mathematica gives the following
result corresponding to your Excel formula.

In[7]:= N[BesselY[6,4.5],20]
Out[7]= -0.9846543059610109

So Excel and OOo appear accurate to single precision (7 decimal digits). The
closest thing to an objective standard doesn't provide enough precision to check
past 5 decimal digits.

http://www.convertit.com/Go/GovCon/Reference/AMS55.ASP?Res=150&Page=399
 
Harlan said:
...
Now I found a big problem :
bessely(4.5,6) =-0.98465430170 in excel
= -0.9846543023 in OPEN OFFICE

But when I compute Bessely using MATLAB ,the result
was - 0.05459791739132
( -0.05459791739132197 in Mathematica)


some one who can tell me which one is right ?????

As long as you realize that the argument order for Excel/OOo is the opposite of
that for MATLAB and Mathematica, all are accurate to 8 or so decimal digits.

In Excel, the syntax is BESSELY(x,n), but in Mathematica, it's BesselY[n,z],
where the x for Excel (which accepts only real values) corresponds to the z in
Mathematica (which accepts complex values). Mathematica gives the following
result corresponding to your Excel formula.

In[7]:= N[BesselY[6,4.5],20]
Out[7]= -0.9846543059610109

So Excel and OOo appear accurate to single precision (7 decimal digits). The
closest thing to an objective standard doesn't provide enough precision to check
past 5 decimal digits.

http://www.convertit.com/Go/GovCon/Reference/AMS55.ASP?Res=150&Page=399


Maple gives -0.9846543059610110 as the first 16 figures with requesed 50
figure accuracy.

I imagine that 7-8 figure accuracy is plenty for engineering
applications. However, I don't know how you only get 7-8 figure
accuracy (like Excel and Open Office) here without getting much worse
accuracy somewhere else.

Jerry
 
Harlan Grove wrote: ...
Maple gives -0.9846543059610110 as the first 16 figures with requesed 50
figure accuracy.

We're getting OT. FWLIW, Dana DeLouis pointed out a problem in my Mathematica
expression in private e-mail. Make that

In[1]:= BesselY[6,4.5`20]
Out[1]= -0.9846543059610110238

I still can't see why 4.5 and 4.5`20 should differ since 4.5 can be represented
exactly in binary floating point. Maybe Mathematica checks argument types to see
how accurate it needs to be.
I imagine that 7-8 figure accuracy is plenty for engineering
applications. However, I don't know how you only get 7-8 figure
accuracy (like Excel and Open Office) here without getting much worse
accuracy somewhere else.

Granted. Can't assess the numeric accuracy of a function implementation from a
single data point.
 
Back
Top