MATLAB Answers

How to use the Marcum-Q function as a symbolic function for vpaintegral.

7 views (last 30 days)
Raviteja Patchava
Raviteja Patchava on 16 Nov 2016
Edited: Karan Gill on 17 Oct 2017
When I use the following code syms x vpaintegral(marcumq(1,x),1,10); I am getting the error: Input arguments must be 'double'.
Whereas the code syms x vpaintegral(besseli(1,x),1,10); is working fine.

  0 Comments

Sign in to comment.

Answers (1)

Karan Gill
Karan Gill on 17 Nov 2016
Edited: Karan Gill on 17 Oct 2017
Why do you need a variable-precision integration of this function starting frome "x"?
The error is because the marcumq function is a function from Signal Processing Toolbox that does not accept symbolic inputs. Instead, use the definition from the marcumq page ( https://www.mathworks.com/help/signal/ref/marcumq.html ) to construct the function yourself using the symbolic exponential and bessel functions.
As you pointed out, "besseli" is available as a symbolic function and thus accepts the symbolic input "x".
Best, Karan (Symbolic documentation)

  0 Comments

Sign in to comment.