-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDLDR.jl
46 lines (46 loc) · 1.59 KB
/
DLDR.jl
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 DLDR(ALPHA,BETA)
A=[0.0050 0.0070 0.0130 0.0180 0.0150 0.0210 0.0230
0.0170 0.0160 0.0130 0.0150 0.0140 0.0110 0.0100
0.0140 0.0140 0.0110 0.0150 0.0130 0.0100 0.0110
0.0100 0.0140 0.0120 0.0140 0.0130 0.0110 0.0110
-0.0050 0.0130 0.0110 0.0140 0.0120 0.0100 0.0110
0.0090 0.0090 0.0090 0.0140 0.0110 0.0090 0.0100
0.0190 0.0120 0.0080 0.0140 0.0110 0.0080 0.0080
0.0050 0.0050 0.0050 0.0150 0.0100 0.0100 0.0100
0 0 -0.0020 0.0130 0.0080 0.0060 0.0060
-0.0050 0.0040 0.0050 0.0110 0.0080 0.0050 0.0140
-0.0110 0.0090 0.0030 0.0060 0.0070 0 0.0200
0.0080 0.0070 0.0050 0.0010 0.0030 0.0010 0]
#
S= 0.2 * ALPHA
K= floor(S)+3
if(K <= 1)
K= 2
end
if(K >= 12)
K= 11
end
DA= S - K +3
L = K + fix( 1.1*sign(DA) )
#
S= 0.1 * BETA
M= floor(S)+4
if(M <= 1)
M= 2
end
if(M >= 7)
M= 6
end
DB= S - M + 4
N= M + fix( 1.1*sign(DB) )
#
K=convert(Int64, K)
L=convert(Int64, L)
M=convert(Int64, M)
N=convert(Int64, N)
T= A[K,M]
U= A[K,N]
V= T + abs(DA) * (A[L,M] - T)
W= U + abs(DA) * (A[L,N] - U)
return dldrv = V + (W-V) * abs(DB)
end