Effacer les filtres
Effacer les filtres

can't use KummerU function

4 vues (au cours des 30 derniers jours)
Daniel
Daniel le 5 Juin 2013
Modifié(e) : Stephen23 le 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.
Help!
Daniel

Réponse acceptée

Friedrich
Friedrich le 5 Juin 2013
Modifié(e) : Stephen23 le 15 Jan 2016
Hi,
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:
  4 commentaires
Daniel
Daniel le 7 Juil 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)
x=hypergeom(p+nu+1,nu+1,alpha/2);
Error in Putprice (line 47)
Def=1-exp(-integral(bfunc,0,T))*(x^2/tau)^(1/(2*abs(beta)))*momentum(-1/(2*abs(beta)),delta,x^2/tau);
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
Server\R2012b\toolbox\shared\optimlib\finDiffEvalAndChkErr.p>finDiffEvalAndChkErr
(line 26)
Error in C:\Program Files\MATLAB\MATLAB Production
Server\R2012b\toolbox\shared\optimlib\finitedifferences.p>finitedifferences (line
128)
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)
[xC,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msgData]=...
Error in lsqnonlin (line 232)
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Please help me solve this problem!
Friedrich
Friedrich le 9 Juil 2013
Modifié(e) : Friedrich le 9 Juil 2013
Hi,
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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by