Contents

% Laplacenum1.m

A:n muodostaminen lohkomatriisina:

B=[-4 1;1 -4]
I=eye(2,2)
A=[B I;I B]
A=sparse(A)  % Muutetaan harvaksi matriisiksi
B =

    -4     1
     1    -4


I =

     1     0
     0     1


A =

    -4     1     1     0
     1    -4     0     1
     1     0    -4     1
     0     1     1    -4


A =

   (1,1)       -4
   (2,1)        1
   (3,1)        1
   (1,2)        1
   (2,2)       -4
   (4,2)        1
   (1,3)        1
   (3,3)       -4
   (4,3)        1
   (2,4)        1
   (3,4)        1
   (4,4)       -4

A:n muodostaminen diagonaaleittain, harvana matriisina

e=ones(4,1)
A=spdiags([ e [1 0 1 0]' -4*e [1 0 1 0]' e], -2:2,4,4)
full(A)  % Katsotaan, miltä näyttää täytenä.
e =

     1
     1
     1
     1


A =

   (1,1)       -4
   (2,1)        1
   (3,1)        1
   (2,2)       -4
   (4,2)        1
   (1,3)        1
   (2,3)        1
   (3,3)       -4
   (4,3)        1
   (2,4)        1
   (4,4)       -4


ans =

    -4     0     1     0
     1    -4     1     1
     1     0    -4     0
     0     1     1    -4

Ratkaistaan luentotehtävä:

b=-[200 200 100 100]'
u=A\b    % Huomaa, että takakeno toimii harvalle yhtä hyvin (ja paremmin!)
U=reshape(u,2,2)   % Muotoillaan ratkaisuvektori matriisiksi
W=zeros(4,4);      % Upotetaan U kehykseen, jossa on reuna-arvot mukana.
W(:,1)=100;W(1,:)=100;W(:,4)=100;%W(4,:)=0;
W(2:3,2:3)=U;
surf(0:3,0:3,W)    % Tätä kannattaa pyörittää.
b =

  -200
  -200
  -100
  -100


u =

   60.0000
   89.3333
   40.0000
   57.3333


U =

   60.0000   40.0000
   89.3333   57.3333