% Generalized Mittag-Leffler function % Reference: % A. A. KILBAS, M. SAIGOb, and R. K. SAXENA, 揋eneralized Mittag-Leffler function and % generalized fractional calculus operators,� Integral Transforms and Special Functions, % vol. 15, No. 1, 2004, pp. 31�49. % Prepared by YangQuan Chen. 07/23/2008 % Based on the ml_fun code in Dingyu Xue, YangQuan Chen* and Derek Atherton. % 揕inear Feedback Control � Analysis and Design with Matlab�. SIAM Press, 2007, % ISBN: 978-0-898716-38-2. (348 pages) % a: \rho % b: \mu % c: \gamma % x: the variable % eps0: specified accuracy function f=gml_fun(a,b,c,x,eps0) gamma_c=1.0/gamma(c); if nargin<5, eps0=eps; end f=0; fa=1; j=0; while norm(fa,1)>=eps0 fa=(gamma(c+j)*gamma_c)/gamma(j+1)/gamma(a*j+b) *x.^j; f=f+fa; j=j+1; end % === % % GML test code % % exp(x) % deltat=0.01; % x=[-1:deltat:1]; % y1=gml_fun(1,1,1,x); % figure;plot(x,y1,'r',x,exp(x),'k') % figure;plot(x,y1-exp(x),'k') % % ok, now try MLF when c=1 % y2=gml_fun(0.5,0.5,1,x); % y3=MLF_M(0.5,0.5,x); % Igor Podlubny's code % figure;plot(x,y1,'b',x,y2,'r',x,y3,'k') % %figure;plot(x, y2-y3','k') % legend('e^x=E_{1,1}^{(1)}', 'E_{0.5,0.5}^{(1)} - this code', 'E_{0.5,0.5}^{(1)} - Podlubny code') % % okay, let us now try GML % y5=gml_fun(0.5,0.5,0.5,x); % y6=gml_fun(0.5,0.5,1.5,x); % figure;plot(x,y2,'r',x,y5,'k',x,y6,'b') % legend('GML \gamma=1','GML \gamma=.5','GML \gamma=1.5') % title('E_{0.5,0.5}^\gamma(x)') % % % % %