13:32 にページが自動更新されます。
Example21(1211) PAD
選択肢
| (1) | bk = Rk2/Rk1 | (2) | Dim Rk1 As Double, Rk2 As Double | (3) | Next i |
| (4) | For i = 1 To n Step 1 | (5) | Dim A() As Double : ReDim A(1 To n, 1 To n) | (6) | Cells(7,13) = Rk2 |
| (7) | xk(j) = Cells(6+j, 11) | (8) | k = k + 1 | (9) | End Main |
| (10) | Next j | (11) | A(j,i) = Cells(6+j, 5+i) | (12) | Dim ak As Double, bk As Double |
| (13) | Next | (14) | Loop While Rk2 >= e and k < kmax | (15) | Dim rk() As Double : ReDim rk(1 To n) |
| (16) | Sub End | (17) | Dim pk() As Double : ReDim pk(1 To n) | (18) | Dim n As Long : n = Cells(3,8) |
| (19) | Dim xk() As Double : ReDim xk(1 To n) | (20) | pk() = VectorSum(rk(), kVector(bk, pk())) | (21) | rk() = VectorDif(b(), MatrixProVector(A(), xk()) |
| (22) | End Main() | (23) | Dim kmax As Long : kmax = 1000 | (24) | Dim b() As Double : ReDim b(1 To n) |
| (25) | Dim sk() As Double : ReDim sk(1 To n) | (26) | Dim d As Double : d = 0.9 | (27) | Dim e As Double : e = 0.00001 |
| (28) | Rk2 = InnerPro(rk(), rk()) | (29) | Dim k As Long : k = 0 | (30) | b(j) = Cells(6+j, 12) |
| (31) | End Sub | (32) | Cells(6+j, 11) = xk(j) | (33) | For Rk2 >= e and k < kmax |
| (34) | sk() = MatrixProVector(A(), pk()) | (35) | ak = d * Rk1/InnerPro(pk(), sk()) | (36) | Do |
| (37) | Rk1 = InnerPro(rk(), rk()) | (38) | Do While Rk2 >= e and k < kmax | (39) | xk() = VectorSum(b(), kVector(ak, pk())) |
| (40) | pk() = rk() | (41) | Cells(7,14) = k | (42) | Loop |
| (43) | For j = 1 To n Step 1 | (44) | rk() = VectorDif(b(), kVector(ak, sk())) |