Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: MarcumQ function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130701] Re: MarcumQ function
  • From: Donagh Horgan <donagh.horgan at gmail.com>
  • Date: Fri, 3 May 2013 03:53:29 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <20130502014331.5FD146A86@smc.vnet.net> <CAEtRDScDEUOARuvDheHG7RmvdmWuywOxdEhDRqjZ1NtDg6HkEg@mail.gmail.com>

Hi Bob,

Thanks for the quick reply! Everything seems to be working nicely now. For
future reference (in case anybody else has the same problem), the command

Plot[{MarcumQ[100, 10, x], 1 - MarcumQ[100, 10, 0, x]}, {x, 0, 30},
WorkingPrecision -> 20]

works fine, but the command

Plot[{MarcumQ[100, 10, x], N[1 - MarcumQ[100, 10, 0, x], 20]}, {x, 0, 30}]

does not. This appears to be because Mathematica treats the commands N and
WorkingPrecision differently under the hood. The fourth example under the
Scope -> Data Objects and Special Rules subsection of the N command
documentation <http://reference.wolfram.com/mathematica/ref/N.html> gives
an example of this difference.

Thanks again,
Donagh




On Thu, May 2, 2013 at 6:48 AM, Bob Hanlon <hanlonr357 at gmail.com> wrote:

> It's a precision issue. Specify a working precision rather than using
> machine precision; however, it slows down the computations.
>
>
> Plot[{
>   MarcumQ[100, 10, x],
>   1 - MarcumQ[100, 10, 0, x]},
>  {x, 0, 30},
>  WorkingPrecision -> 20]
>
>
> Plot[{
>   MarcumQ[51, 10, x],
>   1 - MarcumQ[51, 10, 0, x]},
>  {x, 0, 30},
>  WorkingPrecision -> 20]
>
>
>
> Bob Hanlon
>
>
>
>
> On Wed, May 1, 2013 at 9:43 PM, Donagh Horgan <donagh.horgan at gmail.com>wrote:
>
>> Hello,
>>
>> I recently upgraded to Mathematica 9, and I've noticed a problem with the
>> MarcumQ function. The following command should illustrate it:
>>
>> Plot[{MarcumQ[100, 10, x], 1 - MarcumQ[100, 10, 0, x]}, {x, 0, 30}]
>>
>> While the two functions are mathematically equivalent, the second
>> incorrectly evaluates to zero between (approximately) x = 14 and x = 17.
>>
>> The problem only seems to occur when the first parameter is large. For
>> example, the command
>>
>> Plot[{MarcumQ[50, 10, x], 1 - MarcumQ[50, 10, 0, x]}, {x, 0, 30}]
>>
>> evaluates correctly, while the command
>>
>> Plot[{MarcumQ[51, 10, x], 1 - MarcumQ[51, 10, 0, x]}, {x, 0, 30}]
>>
>> does not.
>>
>> I've tried wrapping the functions with the N command, e.g. N[f, 100], but
>> the same problem occurs. I've also tried increasing $MaxExtraPrecision and
>> $WorkingPrecision using Block, but with no luck.
>>
>> I've been testing my old code since I upgraded from Mathematica 8 a few
>> days ago, so the error appears (to me, at least) to be new.
>>
>> All suggestions greatly appreciated!
>>
>> Best regards,
>> Donagh Horgan
>>
>>
>



  • Prev by Date: Re: Easy to get the audio out of sync with the graphics (Repost)
  • Next by Date: Re: Plot with axes exchanged
  • Previous by thread: Re: MarcumQ function
  • Next by thread: Announcement: MATLink --- call MATLAB from Mathematica seamlessly