Добавил:
Mendeleev
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:TXT / Текстовый документ
.txt Option Base 1
Public Function norm(m%, n%, Q!())
Dim i%, j%, s%
s = 0
For i = 1 To m
For j = 1 To n
s = s + Q(i, j) * Q(i, j)
Next j
Next i
norm = Sqr(s)
End Function
Public Sub sum(m%, n%, A!(), B!(), W!())
Dim i%, j%
For i = 1 To m
For j = 1 To n
W(i, j) = A(i, j) - B(i, j)
Next j
Next i
End Sub
Public Sub tran(m%, n%, o%, e%, A!(), T!())
Dim i%, j%
For i = 1 To m
For j = 1 To n
T(j, i) = A(i, j)
Next j
Next i
End Sub
Public Sub umn(m%, n%, k%, A!(), B!(), G!())
Dim i%, j%, s%, l%
s = 0
For i = 1 To m
For j = 1 To n
s = 0
For l = 1 To k
s = s + A(i, l) * B(l, j)
Next l
G(i, j) = s
Next j
Next i
End Sub
Public Sub inm(Matr!(), li As String, m%, n%, x%, y%)
Dim i%, j%
For i = 1 To m
For j = 1 To n
Matr(i, j) = Worksheets(li).Cells(x - 1 + i, y - 1 + j)
Next j
Next i
End Sub
Public Sub out(Matr!(), li As String, m%, n%, x%, y%)
Dim i%, j%
For i = 1 To m
For j = 1 To n
Worksheets(li).Cells(x - 1 + i, y - 1 + j) = Matr(i, j)
Next j
Next i
End Sub
Sub gl()
Dim A!(), B!(), F!(), C!(), d!(), Z!(), H!(), G!(), R!(), n%, m%, P!()
n = 2
m = 3
ReDim A(m, n), B(n, m), C(m, 1), d(m, 1), F(m, m), P(1, m), H(m, m), G(m, m), R(m, m), Z(m, m)
Call inm(A, "eeno1", m, n, 2, 1)
Call inm(B, "eeno1", n, m, 2, 6)
Call inm(C, "eeno1", m, 1, 2, 4)
Call inm(d, "eeno1", m, 1, 2, 10)
Call tran(m, 1, 1, m, d, P)
Call out(P, "eeno2", 1, m, 7, 1)
Call umn(m, m, 1, C, P, H)
Call out(H, "eeno2", m, m, 10, 1)
Call umn(m, m, n, A, B, G)
Call out(G, "eeno2", m, m, 10, 5)
Call tran(m, m, m, m, G, Z)
Call out(Z, "eeno2", m, m, 10, 9)
Call sum(m, m, H, Z, R)
Call out(R, "eeno2", m, m, 15, 1)
Cells(7, 7) = norm(m, m, R)
End Sub
Public Function norm(m%, n%, Q!())
Dim i%, j%, s%
s = 0
For i = 1 To m
For j = 1 To n
s = s + Q(i, j) * Q(i, j)
Next j
Next i
norm = Sqr(s)
End Function
Public Sub sum(m%, n%, A!(), B!(), W!())
Dim i%, j%
For i = 1 To m
For j = 1 To n
W(i, j) = A(i, j) - B(i, j)
Next j
Next i
End Sub
Public Sub tran(m%, n%, o%, e%, A!(), T!())
Dim i%, j%
For i = 1 To m
For j = 1 To n
T(j, i) = A(i, j)
Next j
Next i
End Sub
Public Sub umn(m%, n%, k%, A!(), B!(), G!())
Dim i%, j%, s%, l%
s = 0
For i = 1 To m
For j = 1 To n
s = 0
For l = 1 To k
s = s + A(i, l) * B(l, j)
Next l
G(i, j) = s
Next j
Next i
End Sub
Public Sub inm(Matr!(), li As String, m%, n%, x%, y%)
Dim i%, j%
For i = 1 To m
For j = 1 To n
Matr(i, j) = Worksheets(li).Cells(x - 1 + i, y - 1 + j)
Next j
Next i
End Sub
Public Sub out(Matr!(), li As String, m%, n%, x%, y%)
Dim i%, j%
For i = 1 To m
For j = 1 To n
Worksheets(li).Cells(x - 1 + i, y - 1 + j) = Matr(i, j)
Next j
Next i
End Sub
Sub gl()
Dim A!(), B!(), F!(), C!(), d!(), Z!(), H!(), G!(), R!(), n%, m%, P!()
n = 2
m = 3
ReDim A(m, n), B(n, m), C(m, 1), d(m, 1), F(m, m), P(1, m), H(m, m), G(m, m), R(m, m), Z(m, m)
Call inm(A, "eeno1", m, n, 2, 1)
Call inm(B, "eeno1", n, m, 2, 6)
Call inm(C, "eeno1", m, 1, 2, 4)
Call inm(d, "eeno1", m, 1, 2, 10)
Call tran(m, 1, 1, m, d, P)
Call out(P, "eeno2", 1, m, 7, 1)
Call umn(m, m, 1, C, P, H)
Call out(H, "eeno2", m, m, 10, 1)
Call umn(m, m, n, A, B, G)
Call out(G, "eeno2", m, m, 10, 5)
Call tran(m, m, m, m, G, Z)
Call out(Z, "eeno2", m, m, 10, 9)
Call sum(m, m, H, Z, R)
Call out(R, "eeno2", m, m, 15, 1)
Cells(7, 7) = norm(m, m, R)
End Sub
Соседние файлы в папке TXT