MATLAB Answers

can't use KummerU function

6 views (last 30 days)
Daniel on 5 Jun 2013
Edited: Stephen Cobeldick on 15 Jan 2016
Hi, When I try to use builtin kummerU function, it gives me "Undefined function 'kummerU' for input arguments of type 'double'." Needed package is installed, and I don't understand why can't the function use real number instead of complex with zero imaginary part.


Sign in to comment.

Accepted Answer

Friedrich on 5 Jun 2013
Edited: Stephen Cobeldick on 15 Jan 2016
kummerU is a Symbolic Math Toolbox function, so you can't simply call:
>> kummerU(1/3, 2.0, -50)
Undefined function 'kummerU' for input arguments of type 'double'.
You have to call:
>> evalin(symengine,'kummerU(1/3, 2.0, -50)')
ans =
0.13511493810668281560142994786047 - 0.23402593766229884316074691432347*i
Or use feval:
>> feval(symengine,'kummerU',1/3, '2.0', -50)
ans =
0.13511493810668281560142994786047 - 0.23402593766229884316074691432347*i
I used '2.0' in order to get a floating-point value otherwise you would get:
>> feval(symengine,'kummerU',1/3, 2.0, -50)
ans =
kummerU(1/3, 2, -50)
This is explained here:


Show 1 older comment
Friedrich on 5 Jun 2013
hypergeom can be called directly (because its available as m file). No need to do it like above.
Daniel on 7 Jul 2013
I try to use hypergeom directly, but it returns the following error:
Error using mupadmex
Internal error with symbolic engine. Please quit and restart MATLAB.
Error in sym/hypergeom (line 1084)
hSym = mupadmex('symobj::map', args{1}.s, 'symobj::hypergeom',...
Error in hypergeom (line 35)
h = double(hypergeom(n,d,sym(z)));
Error in momentum (line 7)
Error in Putprice (line 47)
Error in LSQDiff (line 12)
Diff(:,i)= mktprice(:,i)-Putprice(S,K,T(i),x(1),x(2));
Error in C:\Program Files\MATLAB\MATLAB Production
(line 26)
Error in C:\Program Files\MATLAB\MATLAB Production
Server\R2012b\toolbox\shared\optimlib\finitedifferences.p>finitedifferences (line
Error in sfdnls (line 89)
[J,~,~,numEvals] = finitedifferences(x,fun,[],lb,ub,valx,[],[], ...
Error in snls (line 177)
[A,findiffevals] = sfdnls(xcurr,fvec,Jstr,group,[],funfcn{3},l,u,...
Error in lsqncommon (line 175)
Error in lsqnonlin (line 232)
Please help me solve this problem!
Friedrich on 9 Jul 2013
it seems like you compiled your MATLAB code into a generic CTF? Is this correct? If so, Symbolic Math TB functions can't be compiled.

Sign in to comment.

More Answers (0)

Translated by