Private Sub CommandButton1_Click()
'описываем три матрицы а=2х3,b=3x4,c=2x4
Dim a(1 To 2, 1 To 3) As Double
Dim b(1 To 3, 1 To 4) As Double
Dim c(1 To 2, 1 To 4) As Double
'выбираем в екс диапазон a1:c3,
'матрице а присваеваем значения из диапазона a1:c3
'и выводим в диапазон ниже
Range("a1:c2").Select
Cells(4, 1) = "матрица а"
For i = 1 To 2
For j = 1 To 3
a(i, j) = Selection.Cells(i, j).Value
Cells(i + 4, j) = a(i, j)
Next j
Next i
Range("e1:h3").Select
Cells(4, 5) = "матрица b"
For i = 1 To 3
For j = 1 To 4
b(i, j) = Selection.Cells(i, j).Value
Cells(i + 4, j + 4) = b(i, j)
Next j
Next i
'перемножаем значения матрицы из диапозона a1:c2 и матрицы из диапозона e1:h3
Cells(8, 3) = "матрица c=a*b"
Range("e8:h9").Select
Selection.FormulaArray = "=MMult(a1:c2,e1:h3)"
'выбираем в екс диапазон f12:h14 и помещаем в него транспонированную матрицу из диапозона a12:c14
Cells(11, 1) = "матрица z"
Range("a12:c14").Select
Cells(11, 6) = "матрица z transp"
Range("f12:h14").Select
Selection.FormulaArray = "=Transpose(a12:c14)"
'вычисляем обратную матрицу
Cells(16, 1) = "матрица z обр"
Range("a17:c19").Select
Selection.FormulaArray = "=MInverse(a12:c14)"
End Sub
Private Sub CommandButton2_Click()
Dim a(1 To 2, 1 To 3) As Integer
Dim b(1 To 3, 1 To 4) As Double
|
|
Dim c(1 To 2, 1 To 4) As Double
Dim cm As String
'открываем текстовой файл для чтения
'Open "c:\windows\рабочий стол\ext,учебный процесс\vec.txt" For Input As #1
'Open "d:\1.txt" For Input As #1
Open "C:\Documents and Settings\grigor\Desktop\артур\1.txt" For Input As #1
'считываем с него и записываем в матрицу а данные
For i = 1 To 2
For j = 1 To 3
Input #1, a(i, j)
Next j
Next i
'записываем данные из матрицы а в Excel
Cells(1, 11) = "матрица a"
For i = 1 To 2
For j = 1 To 3
Cells(i + 1, j + 10) = a(i, j)
Next j
Next i
'продолжаем считывать данные из файла в матрицу b
For i = 1 To 3
For j = 1 To 4
Input #1, b(i, j)
Next j
Next i
'закрываем файл
Close #1
'записываем данные из матрицы b в Excel
Cells(1, 15) = "матрица B"
For i = 1 To 3
For j = 1 To 4
Cells(i + 1, j + 14) = b(i, j)
Next j
Next i
'перемножим матрицы a и b
For i = 1 To 2
For j = 1 To 4
c(i, j) = 0
For k = 1 To 3
c(i, j) = c(i, j) + a(i, k) * b(k, j)
Next k
Next j
Next i
'открываем текстовые файлы для записи
'Open "c:\windows\рабочий стол\учебный процесс\vec1.txt" For Input As #1
'Open "c:\windows\рабочий стол\,учебный процесс\vec.txt" For Input As #1
'Open "c:\windows\рабочий стол\ext,учебный процесс\vec.txt" For Input As #1
Open "C:\Documents and Settings\grigor\Desktop\артур\2.txt" For Output As #2
Open "C:\Documents and Settings\grigor\Desktop\артур\3.txt" For Output As #3
Open "C:\Documents and Settings\grigor\Desktop\артур\4.txt" For Output As #4
'записываем данные из матрицы с в Excel, в файлы 2, 3 и 4
Cells(5, 15) = "матрица c"
For i = 1 To 2
For j = 1 To 4
Cells(i + 5, j + 14) = c(i, j)
Write #2, c(i, j),
Print #3, c(i, j);
Print #4, Tab(j * 5); c(i, j);
Next j
Print #4, Spc(0)
Next i
Close #2
Close #3
Close #4
End Sub
Private Sub CommandButton3_Click()
Dim a(1 To 3, 1 To 4) As Double
Dim s(1 To 4, 1 To 3) As Double
Range("b40:e42").Select
For i = 1 To 3
For j = 1 To 4
a(i, j) = Selection.Cells(i, j).Value
Next j
Next i
Range("g40:i43").Select
For i = 1 To 4
For j = 1 To 3
s(i, j) = Selection.Cells(i, j).Value
Next j
Next i
Range("b50:d53").Select
Selection.FormulaArray = "=Transpose(b40:e42)"
|
|
Range("g50:j52").Select
Selection.FormulaArray = "=Transpose(g40:i43)"
Range("g55:i57").Select
Selection.FormulaArray = "=mmult(b50:d53,g50:j52)"
Range("g58:i60").Select
Selection.FormulaArray = "=minverse(g55:i57)"
End Sub