RICHIESTA URGENTE DI AIUTO: VISUAL BASIC
Buongiorno a tutti,
avrei bisogno di un aiuto urgente. Devo invertire una matrice 102x102, che ha una struttura abbastanza regolare (é 5-diagonale). Per farla breve, colevo usare il metodo di Gauss-Seidel o un metodo TDMA, ma sono troppo pigro (e ignorante), per cui non riesco ascrivere l' algoritmo in VB.
Qualcuno puó aiutarmi ???
QUESTA E' LA STRUTTURA DELLA MATRICE DA INVERTIRE:
[i]
Rem Definition of the Matrix A
i = 0
Do Until i = 50
k = 0
Do Until k = 101
Select Case k
Case 2 * i - 1
If i = 0 Then
GoTo FINE
Else
A(2 * i, k) = -BETA
A(2 * i + 1, k) = -THETA_1
End If
FINE::
Case 2 * i
A(2 * i, k) = 1 + OMEGA_GAS
A(2 * i + 1, k) = -THETA_2
Case 2 * i + 1
A(2 * i, k) = -OMEGA_GAS
A(2 * i + 1, k) = 1 + 2 * THETA_1 + THETA_2 + THETA_3
Case 2 * i + 2
If i = 50 Then
GoTo FINE1
Else
A(2 * i, k) = BETA
A(2 * i + 1, k) = 0
End If
FINE1::
Case 2 * i + 3
If i = 50 Then
GoTo FINE2
Else
A(2 * i + 1, k) = -THETA_1
End If
FINE2::
Case Else
A(2 * i, k) = 0
A(2 * i + 1, k) = 0
End Select
k = k + 1
Loop
i = i + 1
Loop
avrei bisogno di un aiuto urgente. Devo invertire una matrice 102x102, che ha una struttura abbastanza regolare (é 5-diagonale). Per farla breve, colevo usare il metodo di Gauss-Seidel o un metodo TDMA, ma sono troppo pigro (e ignorante), per cui non riesco ascrivere l' algoritmo in VB.
Qualcuno puó aiutarmi ???
QUESTA E' LA STRUTTURA DELLA MATRICE DA INVERTIRE:
[i]
Rem Definition of the Matrix A
i = 0
Do Until i = 50
k = 0
Do Until k = 101
Select Case k
Case 2 * i - 1
If i = 0 Then
GoTo FINE
Else
A(2 * i, k) = -BETA
A(2 * i + 1, k) = -THETA_1
End If
FINE::
Case 2 * i
A(2 * i, k) = 1 + OMEGA_GAS
A(2 * i + 1, k) = -THETA_2
Case 2 * i + 1
A(2 * i, k) = -OMEGA_GAS
A(2 * i + 1, k) = 1 + 2 * THETA_1 + THETA_2 + THETA_3
Case 2 * i + 2
If i = 50 Then
GoTo FINE1
Else
A(2 * i, k) = BETA
A(2 * i + 1, k) = 0
End If
FINE1::
Case 2 * i + 3
If i = 50 Then
GoTo FINE2
Else
A(2 * i + 1, k) = -THETA_1
End If
FINE2::
Case Else
A(2 * i, k) = 0
A(2 * i + 1, k) = 0
End Select
k = k + 1
Loop
i = i + 1
Loop
Risposte
Buongiorno a tutti,
avrei bisogno di un aiuto urgente. Devo invertire una matrice 102x102, che ha una struttura abbastanza regolare (é 5-diagonale). Per farla breve, colevo usare il metodo di Gauss-Seidel o un metodo TDMA, ma sono troppo pigro (e ignorante), per cui non riesco ascrivere l' algoritmo in VB.
Qualcuno puó aiutarmi ???
QUESTA E' LA STRUTTURA DELLA MATRICE DA INVERTIRE:
Rem Definition of the Matrix A
i = 0
Do Until i = 50
k = 0
Do Until k = 101
Select Case k
Case 2 * i - 1
If i = 0 Then
GoTo FINE
Else
A(2 * i, k) = -BETA
A(2 * i + 1, k) = -THETA_1
End If
FINE::
Case 2 * i
A(2 * i, k) = 1 + OMEGA_GAS
A(2 * i + 1, k) = -THETA_2
Case 2 * i + 1
A(2 * i, k) = -OMEGA_GAS
A(2 * i + 1, k) = 1 + 2 * THETA_1 + THETA_2 + THETA_3
Case 2 * i + 2
If i = 50 Then
GoTo FINE1
Else
A(2 * i, k) = BETA
A(2 * i + 1, k) = 0
End If
FINE1::
Case 2 * i + 3
If i = 50 Then
GoTo FINE2
Else
A(2 * i + 1, k) = -THETA_1
End If
FINE2::
Case Else
A(2 * i, k) = 0
A(2 * i + 1, k) = 0
End Select
k = k + 1
Loop
i = i + 1
Loop
