hypergeom (kummer function) mupadmex error

3 vues (au cours des 30 derniers jours)
Daniel
Daniel le 7 Juil 2013
Hi guys,
I calibrate a model and use kummer hypergeometric function to calculate the option price. The problem is that when I use hypergeom function of Matlab, it returns error for some values:
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 3)
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));
When I use kummer function, that was written by other authors and uploaded to the mathworks, the function is working. But for some other values it hangs.
I cannot combine these two functions and donot know the source of the error. Can anybody help with this mupadmex error?
Thanks.
  2 commentaires
Walter Roberson
Walter Roberson le 7 Juil 2013
Do you have an estimate for the order of magnitude the hypergeom would reach? I have seen signs that mupad might exit like that if it tried to calculate a number much larger than it's limits (something like 10^10000)
Daniel
Daniel le 7 Juil 2013
Modifié(e) : Daniel le 7 Juil 2013
It starts from 8.5340e+132 and converges to 597.9375 Now I'm using genHyper function written by Ben Barrowes
It returns the following mistake:
error in ipremax--did not find maximum exponent
Error using genHyper>ipremax (line 1721)
stop encountered in original fortran code

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by