function figb2
% plot airy functions
% clear all previous variables and plots
clear *
clf
n=200;
x=linspace(-5,5,n);
% get(gcf)
set(gcf,'Position', [1145 758 555 363]);
for icase=1:4
if icase==1
subaxis(2,2,1,1,'MT',0.005,'MB',0.09,'MR',0.001,'ML',0.01,'P',0.05);
alpha=1; beta=1;
xt=0.2; yt=-0.75;
axis([-5 5 -1 1])
loc='Northwest';
elseif icase==2
subaxis(2,2,2,1);
alpha=-0.5; beta=2;
xt=-0.9; yt=-7.8;
axis([-5 5 -10 10])
loc='North';
elseif icase==3
subaxis(2,2,1,2);
alpha=1; beta=-0.5;
xt=-0.9; yt=-2.4;
axis([-5 5 -3 3])
loc='East';
else
subaxis(2,2,2,2);
alpha=0.5; beta=2;
xt=-0.9; yt=-0.8;
axis([-5 5 -1 1.01])
loc='Northwest';
end
for ix=1:n
z=-0.5*alpha*x(ix)^2;
a1=0.5*beta/alpha; b1=0.5;
a2=0.5*(alpha+beta)/alpha; b2=1.5;
y1(ix)=M(a1,b1,z);
y2(ix)=x(ix)*M(a2,b2,z);
end;
hold on
box on
grid on
plot(x,y1,'-','Linewidth',1)
plot(x,y2,'--r','Linewidth',1)
say=['\alpha = ',num2str(alpha),', \beta = ',num2str(beta)];
text(xt,yt,say,'FontSize',14)
xlabel('x-axis','FontSize',12,'FontWeight','bold')
%ylabel('Kummer Solutions','FontSize',14,'FontWeight','bold')
set(gca,'FontSize',12);
hold off
end
function g=M(a0,b0,x0)
% this code will not work if b0 is a negative integer
%if (b0==round(b0)) & (b0<0)
% error('the code doesn't work if b is a negative integer');
% return;
%end
% use identity: m(a,b,x)=exp(x)*M(b-a,b,-x)
if x0< 0
x=-x0; a=b0-a0; b=b0;
else
x=x0; a=a0; b=b0;
end
xmax=20;
% evaluate m(a,b,x) for x ge 0
% use exact expressions for m if possible
if (x==0) | (a==0)
g=1;
elseif a==b
g=exp(x);
elseif (a==1) & (b==2)
g=(exp(x)-1)/x;
% using the complete poly isn't the smartest idea if a is a very large
% negative integer but its done anyway
elseif (a==round(a)) & (a<0)
n=-a;
g=1;
cs=1;
for in=1:N
cs=cs*(a+in-1)/((b+in-1)*in);
g=g+cs*x^in;
end
% otherwise, for small x use series definition
elseif x