|
Major Member
|
此外,第四部分的地方
If 2 <= i <= 10 And 2 <= j <= 10 Then
M(i, j) = (M(i + 1, j) + M(i - 1, j) + M(i, j + 1) + M(i, j - 1)) / 4
M(6, 6) = O
End If
------
If 2 <= j <= 10 And i = 11 Then
M(i, j) = (2 * M(i - 1, j) + M(i, j - 1) + M(i, j + 1)) / 4
End If
------
If 2 <= i <= 10 And 2 <= j <= 10 Then
M(i, j) = (M(i + 1, j) + M(i - 1, j) + M(i, j + 1) + M(i, j - 1)) / 4
M(6, 6) =N
End If
------
If 2 <= j <= 10 And i = 11 Then
M(i, j) = (2 * M(i - 1, j) + M(i, j - 1) + M(i, j + 1)) / 4
End If
我的意思是我原先給定的初始假設值由零開始(第二部分的地方),而在第四部分作迴圈的時候,因為本題外部的右邊界值會影響到內部數值,因此我規劃的流程是:
1.算一次內部值
2.算一次右邊界值
3.再算一次內部值
4.再算一次右邊界值
而為了定出跳出迴圈的條件,我設定了"如果(舊值/新值)<10^(-5),則離開迴圈"的條件.其中我任選擇矩陣中的某一數值作為判斷數值,因此,程式裡面寫到的M(6, 6) = O與M(6, 6) = N,是分別代表內部值的新值(N)與舊值(O)...因為看您的回答,感覺似乎認為M(6, 6) = O是指數值等於零.所以提出這個回應!
不過因為我是第一次撰寫VB,所以有很多地方仍然不太了解,如果我說的部分有需要修正的,還麻煩您幫忙修正.非常謝謝幫忙!
|