d12r6.txt
来自「VB常用数值算法集2」· 文本 代码 · 共 36 行
TXT
36 行
Private Sub Command1_Click()
'PROGRAM D12R6
'Driver for routine CONVLV
N = 16
N2 = 32
M = 9
PI = 3.1415926
Dim DATA(16), RESPNS(9), RESP(16), ANS(32)
For I = 1 To N
DATA(I) = 0#
If I >= (N / 2 - N / 8) And I <= (N / 2 + N / 8) Then
DATA(I) = 1#
End If
Next I
Print
For I = 1 To M
RESPNS(I) = 0#
If I > 2 And I < 7 Then RESPNS(I) = 1#
RESP(I) = RESPNS(I)
Next I
ISIGN = 1
Call CONVLV(DATA(), N, RESP(), M, ISIGN, ANS())
'Compare with a direct convolution
Print Tab(5); "I CONVLV Expected"
For I = 1 To N
CMP = 0#
For J = 1 To M / 2
CMP = CMP + DATA(((I - J - 1 + N) Mod N) + 1) * RESPNS(J + 1)
CMP = CMP + DATA(((I + J - 1) Mod N) + 1) * RESPNS(M - J + 1)
Next J
CMP = CMP + DATA(I) * RESPNS(1)
Print Tab(5); Format$(I, "###");
Print Tab(12); Format$(ANS(I), "#.#####0");
Print Tab(25); Format$(CMP, "#.#####0")
Next I
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?