File Exchange

image thumbnail

Generalized Mittag-Leffler function

version 1.0.0.0 (889 Bytes) by YangQuan Chen
Computes generalized Mittag-Leffler function

7 Downloads

Updated 28 Jul 2008

No License

Mittag-Leffler function generalizes the exponential function. It plays an important role in fractional order dynamic systems.

Key reference:
A. A. KILBAS, M. SAIGOb, and R. K. SAXENA, “Generalized Mittag-Leffler function and generalized fractional calculus operators,” Integral Transforms and Special Functions, vol. 15, No. 1, 2004, pp. 31–49.

Based on the ml_fun.m code in Dingyu Xue, YangQuan Chen* and Derek Atherton. “Linear Feedback Control – Analysis and Design with Matlab”. SIAM Press, 2007, ISBN: 978-0-898716-38-2. (348 pages)

Cite As

YangQuan Chen (2021). Generalized Mittag-Leffler function (https://www.mathworks.com/matlabcentral/fileexchange/20849-generalized-mittag-leffler-function), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Beiping Duan

Fernando S. Silva

qs

% 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?9.
% 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)')
%
%
%
%
%

Yan Li

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!