?? d12r1.txt
字號:
Private Sub Command1_Click()
'PROGRAM D12R1
'Driver for routine FOUR1
NN = 32
NN2 = 2 * NN
Dim DATA(64), DCMP(64)
Print Tab(5); "h(t)=real-valued even-function"
Print Tab(5); "H(n)=H(N-n) and real?"
For I = 1 To 2 * NN - 1 Step 2
DATA(I) = 1# / (((I - NN - 1#) / NN) ^ 2 + 1#)
DATA(I + 1) = 0#
Next I
ISIGN = 1
Call FOUR1(DATA(), NN, ISIGN)
Call PRNTFT(DATA(), NN2)
Print Tab(5); "h(t)=imagnary-valued even-function"
Print Tab(5); "H(n)=H(N-n) and imaginary?"
For I = 1 To 2 * NN - 1 Step 2
DATA(I + 1) = 1# /(((I - NN - 1#) / NN) ^ 2 + 1#)
DATA(I) = 0#
Next I
ISIGN = 1
Call FOUR1(DATA(), NN, ISIGN)
Call PRNTFT(DATA(), NN2)
Print Tab(5); "h(t)=imagnary-valued even-function"
Print Tab(5); "H(n)=H(N-n) and imaginary?"
For I = 1 To 2 * NN - 1 Step 2
DATA(I) = (I - NN - 1#) / NN /(((I - NN - 1#) / NN) ^ 2 + 1#)
DATA(I + 1) = 0#
Next I
DATA(1) = 0#
ISIGN = 1
Call FOUR1(DATA(), NN, ISIGN)
Call PRNTFT(DATA(), NN2)
Print Tab(5); "h(t)=imagnary-valued odd-function"
Print Tab(5); "H(n)=-H(N-n) and real?"
For I = 1 To 2 * NN - 1 Step 2
AAA = (I - NN - 1#)
DATA(I + 1) = AAA / NN / (((I - NN - 1#) / NN) ^ 2 + 1#)
DATA(I) = 0#
Next I
DATA(2) = 0#
ISIGN = 1
Call FOUR1(DATA(), NN, ISIGN)
Call PRNTFT(DATA(), NN2)
'Transrorm, inverse-transform test
For I = 1 To 2 * NN - 1 Step 2
DATA(I) = 1# / ((0.5 * (I - NN - 1) / NN) ^ 2 + 1#)
DCMP(I) = DATA(I)
DATA(I + 1) = (0.25 * (I - NN - 1) / NN)
DATA(I + 1) = DATA(I + 1) * Exp(-(0.5 * (I - NN - 1) / NN) ^ 2)
DCMP(I + 1) = DATA(I + 1)
Next I
ISIGN = 1
Call FOUR1(DATA(), NN, ISIGN)
ISIGN = -1
Call FOUR1(DATA(), NN, ISIGN)
Print Tab(5); "FORuble Fourier Transform: Original Data:"
Print Tab(5); "k Real h(k) Imag h(k) Real h(k) Imag h(k)"
For I = 1 To NN Step 2
J = (I + 1) / 2
Print Tab(5); Format$(J, "##");
Print Tab(12); Format$(DCMP(I), "##.#####0");
Print Tab(25); Format$(DCMP(I + 1), "##.#####0");
Print Tab(38); Format$(DATA(I) / NN, "##.#####0");
Print Tab(51); Format$(DATA(I + 1) / NN, "##.#####0")
Next I
End Sub
Sub PRNTFT(DATA(), NN2)
Print Tab(5); "n Real H(n) Imag H(n) Real H(N-n) Imag H(N-n)"
Print Tab(5); Format$(0, "0");
Print Tab(12); Format$(DATA(1), "##.#####0");
Print Tab(25); Format$(DATA(2), "##.#####0");
Print Tab(38); Format$(DATA(1), "##.#####0");
Print Tab(51); Format$(DATA(2), "##.#####0")
For N = 3 To (NN2 / 2) + 1 Step 2
M = (N - 1) / 2
MM = NN2 + 2 - N
Print Tab(5); Format$(M, "##");
Print Tab(12); Format$(DATA(N), "##.#####0");
Print Tab(25); Format$(DATA(N + 1), "##.#####0");
Print Tab(38); Format$(DATA(MM), "##.#####0");
Print Tab(51); Format$(DATA(MM + 1), "##.#####0")
Next N
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -