Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Word / Матрица v1

.1.doc
Скачиваний:
24
Добавлен:
07.01.2014
Размер:
49.15 Кб
Скачать

 

 

R=Pr((d*Ct+B)*A)+||A||

 

 

 

d*Ct

 

 

матрица А

 

 

 

вектор С

 

-2

-6

-10

3

4

 

 

1

 

-3

-9

-15

6

2

 

 

3

 

d*Ct+B

 

 

-3

1

 

 

5

 

-4

-5

-9

матрица В

 

 

 

вектор d

 

-2

-14

-12

-2

1

1

 

-2

 

(d*Ct+B)*A

 

 

1

-5

3

 

-3

 

-15

-35

 

 

 

 

 

 

 

-54

-48

 

результат

728,6603

 

 

 

 

Pr

 

 

 

 

 

 

 

 

720

 

 

 

 

 

 

 

 

Norma ||A||

 

 

 

 

 

 

 

 

8,6602545

 

 

Sub matrica()

Dim A!(3, 2), B!(2, 3), C!(3, 1), d!(2, 1), dCt!(2, 3), CT!(1, 3), dCtb!(2, 3), dCtBA!(2, 2), Pr!, norm!, s!, result!

Dim i%, j%, k%

For i = 1 To 3

For j = 1 To 2

A(i, j) = Cells(i + 2, j)

B(j, i) = Cells(j + 6, i)

d(j, 1) = Cells(6 + j, 5)

Next j

C(i, 1) = Cells(i + 2, 5)

Next i

Call matrix1(dCt, CT, d, C)

Call matrix2(dCtb, dCt, B)

Call matrix3(dCtBA, dCtb, A)

Call Pr_and_norm(dCtBA, s, A, norm, result)

End Sub

____________________________________________________________________________________________________

'выч-е Ct и d*Ct

Sub matrix1(dCt!(), CT!(), d!(), C!())

For i = 1 To 3

For j = 1 To 2

CT(1, i) = C(i, 1)

dCt(j, i) = dCt(j, i) + CT(1, i) * d(j, 1)

Cells(1 + j, 6 + i) = dCt(j, i)

Next j

Next i

End Sub

_____________________________________________________________________________________________________

'выч-е d*Ct+B

Sub matrix2(dCtb!(), dCt!(), B!())

For i = 1 To 3

For j = 1 To 2

dCtb(j, i) = dCt(j, i) + dCtb(j, i) + B(j, i)

Cells(4 + j, 6 + i) = dCtb(j, i)

Next j

Next i

End Sub

______________________________________________________________________________________________________

'выч-е (d*Ct+B)*A

Sub matrix3(dCtBA!(), dCtb!(), A!())

For i = 1 To 3

For j = 1 To 2

dCtBA(j, j) = dCtBA(j, j) + dCtb(j, i) * A(i, j)

dCtBA(1, 2) = dCtBA(1, 2) + dCtb(1, i) * A(i, 2) / 2

dCtBA(2, 1) = dCtBA(2, 1) + dCtb(2, i) * A(i, 1) / 2

Cells(7 + j, 6 + j) = dCtBA(j, j)

Next j

Next i

Cells(8, 8) = dCtBA(1, 2)

Cells(9, 7) = dCtBA(2, 1)

End Sub

_______________________________________________________________________________________________________

'выч-е Pr

Sub Pr_and_norm(dCtBA!(), s!, A!(), norm!, result!)

Pr = dCtBA(1, 1) * dCtBA(2, 2)

Cells(11, 7) = Pr

'выч-е нормы

s = 0

For i = 1 To 3

For j = 1 To 2

s = s + A(i, j) * A(i, j)

Next j

Next i

norm = Sqr(s)

Cells(13, 7) = norm

result = Pr + norm

Cells(10, 2) = result

End Sub

2

Соседние файлы в папке Word