function fig224
% plots exact solution elliptic equation
clear *
clf
ep=0.05; b=0; a=1;
% set parameters
nx=40;
x=linspace(-1,1,nx);
y=x;
alpha=1; beta=1;
chi=0.5*sqrt(alpha^2 + beta^2 - 4*ep)/ep;
nn=40;
pi2=2*pi;
b0 = (b-a)*ifc(0,pi2,0,ep)/pi2;
bess0 = besseli(0,chi);
for in=1:nn
ap(in)=(b-a)*ifs(0,pi2,in,ep)/pi;
bp(in)=(b-a)*ifc(0,pi2,in,ep)/pi;
bess(in)=besseli(in,chi);
end;
U=zeros(nx,nx);
for ix=1:nx
for iy=1:nx
r=sqrt(x(ix)^2+y(iy)^2);
if r < 1
phi=atan2(y(iy),x(ix));
rp=chi*r;
s=b0*besseli(0,rp)/bess0;
for in=1:nn
t1=besseli(in,rp)*(ap(in)*sin(in*phi)+bp(in)*cos(in*phi))/bess(in);
s=s+t1;
end;
u(ix,iy)=a+s*exp(-0.5*(x(ix)+y(iy))/ep);
end;
end;
end;
% get(gcf)
set(gcf,'position', [1788 1052 573 333]);
uu=U+3;
hold on
grid on
box on
%axes('position',[.13 .43 .8 .53])
surf(x,y,uu')
%surfc(x,y,u')
view(38, 22);
colormap gray
% get(gca)
set(gca,'ztick',[1 2 3]);
set(gca,'zticklabel',{'-2';'-1';'0'})
set(gca,'xtick',[-1 0 1]);
set(gca,'ytick',[-1 0 1]);
%axis([-1 1 -1 1 -3 0])
contour(x,y,uu',9,'k')
xlabel('x-axis','fontsize',14,'fontweight','bold')
ylabel('y-axis','fontsize',14,'fontweight','bold')
%zlabel('solution','fontsize',14,'fontweight','bold')
% set the fontsize to 12 for the plot '
set(gca,'fontsize',12);
hold off
function f=fs(phi,n,ep)
f = exp(0.5*(cos(phi)+sin(phi))/ep)*sin(n*phi);
function f=fc(phi,n,ep)
f = exp(0.5*(cos(phi)+sin(phi))/ep)*cos(n*phi);
function s=ifs(a,b,n,ep);
% simpson's method
N=max(100,100*n);
xd=linspace(a,b,N+1);
h=xd(2)-xd(1);
s=fs(xd(1),n,ep);
for j=2:2:N
f2=fs(xd(j+1),n,ep);
s=s+4*fs(xd(j),n,ep)+2*f2;
end;
s=h*(s-f2)/3;
function s=ifc(a,b,n,ep);
% simpson's method
N=max(100,100*n);
xd=linspace(a,b,N+1);
h=xd(2)-xd(1);
s=fc(xd(1),n,ep);
for j=2:2:N
f2=fc(xd(j+1),n,ep);
s=s+4*fc(xd(j),n,ep)+2*f2;
end;
s=h*(s-f2)/3;