% osdynum2  
% 3.12.04 Viimeinen luento

lapm(3)
full(ans)
A=lapm(10);
spy(A);
full(A);

% Lopez esim. 26.6 s. 619

% Ratkaise Laplacen yhtälö yksiköneliössä, reunaehdot:
% fv(y)=y*(1-y), fo(y)=sin(pi*y)
% ga(x) = sin(2*pi*x), gy(x)=x*(x-1)

clear; close all;
n=5;

A=lapm(n);
spy(A)

x=linspace(0,1,n+1); y=x;
ala=sin(2*pi*x);
yla=x.*(x-1);
vasen=y.*(1-y);
oikea=sin(pi*y);

U=lapsolve1(ala,oikea,yla,vasen);

surf(U)

% Puolitetaan askel

n=2*n;
A=lapm(n);
spy(A)

x=linspace(0,1,n+1); y=x;
ala=sin(2*pi*x);
yla=x.*(x-1)
vasen=y.*(1-y);
oikea=sin(pi*y);

U=lapsolve1(ala,oikea,yla,vasen);

surf(U)

% Puolitetaan askel

n=2*n
A=lapm(n);
spy(A)

x=linspace(0,1,n+1); y=x;
ala=sin(2*pi*x);
yla=x.*(x-1)
vasen=y.*(1-y);
oikea=sin(pi*y);

U=lapsolve1(ala,oikea,yla,vasen);

surf(U)

A=lapm(100); spy(A); full(A);


% Matlabissa on koko joukko iteratiivisia linsys-ratkaisijoita suuriin tehtäviin:
%  pcg, gmres, jne

help sparfun


