📄 difeq.txt
字号:
Sub DIFEQ(K, K1, K2, JSF, IS1, ISF, INDEXV(), NE, S(), NSI, NSJ, Y(), NYJ, NYK)
M = 41
If K = K1 Then
If N + MM Mod 2 = 1 Then
S(3, 3 + INDEXV(1)) = 1# '方程(15-37)
S(3, 3 + INDEXV(2)) = 0#
S(3, 3 + INDEXV(3)) = 0#
S(3, JSF) = Y(1, 1) '方程(15-31)
Else
S(3, 3 + INDEXV(1)) = 0# '方程(15-37)
S(3, 3 + INDEXV(2)) = 1#
S(3, 3 + INDEXV(3)) = 0#
S(3, JSF) = Y(2, 1) '方程(15-31)
End If
ElseIf K > K2 Then
S(1, 3 + INDEXV(1)) = -(Y(3, M) - C2) / (2# * (MM + 1#)) '方程(15-38)
S(1, 3 + INDEXV(2)) = 1#
S(1, 3 + INDEXV(3)) = -Y(1, M) / (2# * (MM + 1#))
S(1, JSF) = Y(2, M) - (Y(3, M) - C2) * Y(1, M) / (2# * (MM + 1#)) '方程(15-32)
S(2, 3 + INDEXV(1)) = 1# '方程(15-39)
S(2, 3 + INDEXV(2)) = 0#
S(2, 3 + INDEXV(3)) = 0#
S(2, JSF) = Y(1, M) - ANORM '方程(15-33)
Else
S(1, INDEXV(1)) = -1# '方程(15-34)
S(1, INDEXV(2)) = -0.5 * H
S(1, INDEXV(3)) = 0#
S(1, 3 + INDEXV(1)) = 1#
S(1, 3 + INDEXV(2)) = -0.5 * H
S(1, 3 + INDEXV(3)) = 0#
TEMP = H / (1# - (X(K) + X(K - 1)) ^ 2 * 0.25)
TEMP2 = 0.5 * (Y(3, K) + Y(3, K - 1)) - C2 * 0.25 * (X(K) + X(K - 1)) ^ 2
S(2, INDEXV(1)) = TEMP * TEMP2 * 0.5 '方程(15-35)
S(2, INDEXV(2)) = -1# - 0.5 * TEMP * (MM + 1#) * (X(K) + X(K - 1))
S(2, INDEXV(3)) = 0.25 * TEMP * (Y(1, K) + Y(1, K - 1))
S(2, 3 + INDEXV(1)) = S(2, INDEXV(1))
S(2, 3 + INDEXV(2)) = 2# + S(2, INDEXV(2))
S(2, 3 + INDEXV(3)) = S(2, INDEXV(3))
S(3, INDEXV(1)) = 0# '方程(15-36)
S(3, INDEXV(2)) = 0#
S(3, INDEXV(3)) = -1#
S(3, 3 + INDEXV(1)) = 0#
S(3, 3 + INDEXV(2)) = 0#
S(3, 3 + INDEXV(3)) = 1#
S(1, JSF) = Y(1, K) - Y(1, K - 1) - 0.5 * H * (Y(2, K) + Y(2, K - 1)) '方程(15-26)
DUM = (X(K) + X(K - 1)) * 0.5 * (MM + 1#) * (Y(2, K) + Y(2, K - 1)) '方程(15-27)
DUM = DUM - TEMP2 * 0.5 * (Y(1, K) + Y(1, K - 1))
S(2, JSF) = Y(2, K) - Y(2, K - 1) - TEMP * DUM
S(3, JSF) = Y(3, K) - Y(3, K - 1) '方程(15-30)
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -