cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
0 Kudos

Marcum Q Function

What inspired this wish list request?

I was trying to model some data as a Rice distribution, which uses the Marcum Q function in the CDF.

 

What is the improvement you would like to see? 

I would like if JMP supported the Marcum Q Function Qν(a,b)

 

Why is this idea important? 

The Marcum Q function is used to describe the CDF of many statistical distributions, which would enable users to use the nonlinear platform to fit a much greater number of distributions beyond the ones currently supported in JMP.

The following distributions' CDFs can be modeled using the Q function

  • Exponential
  • Erlang
  • Chi-squared
  • Gamma
  • Weibull
  • Generalized gamma
  • Noncentral chi-squared
  • Rayleigh
  • Maxwell-Boltzmann
  • Chi
  • Nakagami
  • Rice
  • Non-central chi
2 Comments
Status changed to: Acknowledged

Hello @rda. we have acknowledged your request. It is no direct built into JMP as a standard function. In the meantime, I did some research and saw that you can implement using a custom script to approximated the Marcum Q function.  

 Implementing in JMP:
  • Custom Function:
    You can create a custom function in JMP that implements the Marcum Q-function using JSL scripting. This involves defining a JSL function that calculates the integral (or series expansion) that defines the Marcum Q-function. 
     
  • Approximation with JSL:
    Since the Marcum Q-function can be expressed as a series expansion, you can approximate it in JSL using iterative calculations and JMP's built-in functions like IfChooseMatch, and potentially the Sum function. 
     
  • Using External Libraries:
    If you have access to external libraries or add-ins, these may contain a pre-implemented Marcum Q-function. You could then leverage this within JMP. 
     
3. Example of JSL Implementation (Approximation):
 
Code
 
// Simple example, not a fully accurate implementation// This is for illustration purposes onlyOn Calculate  Do  // Get inputs (assuming 'a' and 'b' are column names)  a = Column( 1 ).Data(); // Replace with actual column name  b = Column( 2 ).Data(); // Replace with actual column name  // Loop through values  For( i, 1, NRow(a),    // Approximate the Marcum Q-function (replace with your desired method)    result = 1; // Placeholder for your calculation    // Update the output column with the result    Col(3)[i] = result;  // Replace 3 with the desired output column number  );  // Do other calculations...End Do
A simplified example of how you might approach an approximation of the Marcum Q-function in JSL: 
rda
Level II

Hi Valerie,

 

Appreciate the answer, but I'm disappointed that this appears to just be copied and pasted from ChatGPT.

The example isn't even JSL, the text is just saying "do it yourself" verbosely, and none of this seems particular to, or even shows familiarity with, JMP.

It wasn't even proofread, there's an extraneous "3." and the last line suggests that there's an example to follow, which wasn't pasted.

 

A post from JMP staff implies endorsement of the content. Endorsing LLM hallucinations is just going to confuse users and waste their time - no response would have been preferable to this.