-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNm_oper_b.m
46 lines (37 loc) · 1.18 KB
/
Nm_oper_b.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function [output] = Nm_oper_b(i,j,F)
[m,n] = size(F);
if i > 1 && i < m, if j > 1 && j < n
output = ( 8*F(i,j)+F(i-1,j)+F(i+1,j)+F(i,j-1)+F(i,j+1) )/12;
end, end
if i ==1, if j == 1
output = ( 8*F(i,j)+2*F(i+1,j)+2*F(i,j+1) )/12;
end,end
% (m, 1)
if i == m, if j == 1
output = ( 8*F(i,j)+2*F(i-1,j)+2*F(i,j+1) )/12;
end, end
% (1, n)
if i == 1, if j == n
output = ( 8*F(i,j)+2*F(i+1,j)+2*F(i,j-1) )/12;
end,end
% (m ,n)
if i == m, if j == n
output = ( 8*F(i,j)+2*F(i-1,j)+2*F(i,j-1) )/12;
end, end
% left-hand side
if i ~= 1 && i ~= m, if j == 1
output = ( 8*F(i,j)+F(i-1,j)+F(i+1,j)+2*F(i,j+1) )/12;
end,end
% right-hand side
if i ~= 1 && i ~= m, if j == n
output = ( 8*F(i,j)+F(i-1,j)+F(i+1,j)+2*F(i,j-1) )/12;
end,end
% up-hand side
if i == 1, if j ~= 1 && j ~= n
output = ( 8*F(i,j)+2*F(i+1,j)+F(i,j-1)+F(i,j+1) )/12;
end,end
% down-hand side
if i == m, if j ~= 1 && j ~= n
output = ( 8*F(i,j)+2*F(i-1,j)+F(i,j-1)+F(i,j+1) )/12;
end,end
end