function b = Min2DLastAssemblerare(p, t, t_h)

nnodes = size(p, 2);  % Antal noder. (= antal kolonner i p)
ntri = size(t, 2);    % Antal trianglar. (= antal kolonner i t)

b = zeros(nnodes, 1);  % Initiera lastvektor.

for n = 1:ntri

  % Ta reda på hörnens nodnummer:  
                  
  i = t(1, n);  % Nodnummer för hörn nummer 1 i triangel nummer n.
  j = t(2, n);  % Nodnummer för hörn nummer 2 i triangel nummer n.
  k = t(3, n);  % Nodnummer för hörn nummer 3 i triangel nummer n.
                %
                % 1 -> 2 -> 3 moturs riktning.
                  
  % Ta reda på hörnens koordinater:                      
                                       
  xnodi = p(1, i);  % x-koordinat för nod nummer i.
  xnodj = p(1, j);  % x-koordinat för nod nummer j.
  xnodk = p(1, k);  % x-koordinat för nod nummer k.
                  
  ynodi = p(2, i);  % y-koordinat för nod nummer i.
  ynodj = p(2, j);  % y-koordinat för nod nummer j.
  ynodk = p(2, k);  % y-koordinat för nod nummer k.
                                       
  % Räkna ut triangelns area:
  % Jämför Problem 4 i ``Problems Week 6''.
                  
  triangelarea = ((xnodj - xnodi)*(ynodk - ynodi) - ...
                  (xnodk - xnodi)*(ynodj - ynodi))/2;

  % ... gör att man kan fortsätta skriva på nästa rad.

  % I vilket delområde ligger triangel nummer n?

  delomradesnummer = t(4, n);  % Rad 4 i t innehåller numret på delområdet
                               % i vilket triangel nummer n ligger.
  
  % Räkna ut källtermen i triangelns hörn vid aktuell tidpunkt.
  % (Vi skickar med numret på det delområde i vilket triangeln ligger
  % som en parameter, för att på ett enkelt sätt kunna specificera olika
  % uttryck för f i skilda delområden.)			       
	
  fnodi = f2_2D(xnodi, ynodi, delomradesnummer, t_h);  % Värdet i nod i av f.
  fnodj = f2_2D(xnodj, ynodj, delomradesnummer, t_h);  % Värdet i nod j av f.
  fnodk = f2_2D(xnodk, ynodk, delomradesnummer, t_h);  % Värdet i nod k av f.
  
  % Räkna ut värdena på phi_i, phi_j, och phi_k, i triangelns hörn:
                  
  phi_inodi = 1;       % Värdet i nod i av phi_i.
  phi_inodj = 0;       % Värdet i nod j av phi_i.
  phi_inodk = 0;       % Värdet i nod k av phi_i.
                  
  phi_jnodi = 0;       % Värdet i nod i av phi_j.
  phi_jnodj = 1;       % Värdet i nod j av phi_j.
  phi_jnodk = 0;       % Värdet i nod k av phi_j.
                  
  phi_knodi = 0;       % Värdet i nod i av phi_k.
  phi_knodj = 0;       % Värdet i nod j av phi_k.
  phi_knodk = 1;       % Värdet i nod k av phi_k.

  % Bidragen till lastvektorn från triangel nummer n
  % beräknas med hörnkvadratur:
  
  b(i) = b(i) + ...   % Integrand: f*phi_i
      (fnodi*phi_inodi + fnodj*phi_inodj + fnodk*phi_inodk)*triangelarea/3;
  b(j) = b(j) + ...   % Integrand: f*phi_j
      (fnodi*phi_jnodi + fnodj*phi_jnodj + fnodk*phi_jnodk)*triangelarea/3;
  b(k) = b(k) + ...   % Integrand: f*phi_k
      (fnodi*phi_knodi + fnodj*phi_knodj + fnodk*phi_knodk)*triangelarea/3;
  
end
