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

9 ビュー (過去 30 日間)
Raviteja Patchava
Raviteja Patchava 2016 年 11 月 16 日
編集済み: Karan Gill 2017 年 10 月 17 日
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.

回答 (1 件)

Karan Gill
Karan Gill 2016 年 11 月 17 日
編集済み: Karan Gill 2017 年 10 月 17 日
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)

カテゴリ

Help Center および File ExchangeCalculus についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by