% A -Laplace u = f Poisson-egyenlet megoldása az egységnégyzeten,
% homogén Dirichlet-peremfeltétel esetén. Szabályos háromszögrácsot
% alkalmazunk.

n=10;
f=@(x,y)(sin(pi*x).*2*pi^2.*sin(pi*y));

% A merevségi mátrix konstrukciója
h=1/(n+1);
Q=gallery('tridiag',n);
A=kron(Q,speye(n))+kron(speye(n),Q);

% A terhelési vektor
[X,Y]=meshgrid(h:h:1-h,1-h:-h:h);
b=h^2*reshape(f(X,Y),n^2,1);

% Az egyenletrendszer megoldása 
u=A\b;

% A megoldás ábrázolása
figure(1)
z=zeros(n+2);
z(2:n+1,2:n+1)=reshape(u,n,n);
tri=[0 0 0];
for i=1:(n+1)*(n+2)
    if mod(i,n+2)~=0
        tri(length(tri(:,1))+1,:)=[i,i+1,i+n+3];
        tri(length(tri(:,1))+1,:)=[i,i+n+2,i+n+3];
    end
end
tri(1,:)=[];
[xi,yi]=meshgrid(0:h:1,1:-h:0);
trisurf(tri,xi,yi,z)
colorbar
xlabel('x','FontSize',14)
ylabel('y','FontSize',14)

% A pontos megoldás ábrázolása (ha ismert)
figure(2)
pontos=@(x,y)sin(pi*x).*sin(pi*y);
fsurf(pontos,[0,1])