Aplikasi Fungsi Green Menggunakan Algoritma Monte Carlo dalam Persamaan Diferensial Semilinear
71
Lampiran 1. Solusi Fungsi Green
1
function G = greenfunction(k, v, n, a, b)
2
% k adalah fungsi difusi
3
% v adalah fungsi adveksi
4
% n adalah jumlah diskritisasi sepanjang domain (a,b)
5
h = (b-a)/n;
6
x = linspace(a, b, n+1);
7
muval(1) = 0.0;
8
for j = 2: n+1
increment_m = (v(x(j))/k(x(j)) + v(x(j-1))/k(x(j-1)))*0.5*h;
muval(j) = muval(j-1) + increment_m;
9
10
11
end
12
mu(1:n+1) = exp(-muval(1:n+1));
13
kval(1)=0.0;
14
for j=2:n+1
increment_k = ( mu(j)/k(x(j))+ mu(j-1)/k(x(j-1)))*(0.5)*h;
kval(j) = kval(j-1) + increment_k;
15
16
17
end
18
19
%fungsi Green untuk kondisi batas Neumann-Neumann
20
for j=1:n+1
for i=1:n+1
21
c = (-mu(n+1)/v(n+1) - (kval(n+1) - kval(j))) /...
22
(mu(n+1)/v(n+1) - 1/v(1) + kval(n+1));
23
24
if (x(i)
Lampiran 1. Solusi Fungsi Green
1
function G = greenfunction(k, v, n, a, b)
2
% k adalah fungsi difusi
3
% v adalah fungsi adveksi
4
% n adalah jumlah diskritisasi sepanjang domain (a,b)
5
h = (b-a)/n;
6
x = linspace(a, b, n+1);
7
muval(1) = 0.0;
8
for j = 2: n+1
increment_m = (v(x(j))/k(x(j)) + v(x(j-1))/k(x(j-1)))*0.5*h;
muval(j) = muval(j-1) + increment_m;
9
10
11
end
12
mu(1:n+1) = exp(-muval(1:n+1));
13
kval(1)=0.0;
14
for j=2:n+1
increment_k = ( mu(j)/k(x(j))+ mu(j-1)/k(x(j-1)))*(0.5)*h;
kval(j) = kval(j-1) + increment_k;
15
16
17
end
18
19
%fungsi Green untuk kondisi batas Neumann-Neumann
20
for j=1:n+1
for i=1:n+1
21
c = (-mu(n+1)/v(n+1) - (kval(n+1) - kval(j))) /...
22
(mu(n+1)/v(n+1) - 1/v(1) + kval(n+1));
23
24
if (x(i)