ВУЗ:
Составители:
Рубрика:
13
торый будет решать СЛАУ с верхней треугольной матрицей (его будем
вызывать по нажатию клавиш Ctrl+Shift+x или щелчку по x-кружку).
Макрос, используемый на этапах a и b алгоритма:
Sub E( ) ' Запускается по Ctrl+Shift+E и создаѐт единичную матрицу E
Dim TR As Range ' в выделенной прямоугольной области.
Dim n As Integer
For Each TR In Selection.Areas ' Цикл по выделенным областям.
n = Sqr(TR.Count) ' Определение числа выделенных ячеек.
i1 = TR.Row: j1 = TR.Column ' Номера начальных строки и столбца.
TR = 0 ' Обнуление диапазона и запись
For i = 1 To N: Cells(i1 + i - 1, j1 + i - 1) = 1: Next i ' на главную диагональ.
Next ' Конец цикла по выделенным областям
End Sub
Макрос, используемый на этапе b алгоритма:
Sub Lk() ' запускается по Ctrl+Shift+L и нормирует главный столбец
Dim TR As Range: Dim n As Integer
For Each TR In Selection.Areas ' Цикл по выделенным областям.
n = TR.Count: i1 = TR.Row: j1 = TR.Column ' опр. числа эл-тов и индексов
For i = i1 + 1 To i1 + n - 1
Cells(i, j1) = - Cells(i, j1) / Cells(i1, j1)
Next i
Cells(i1, j1) = 1
Next
End Sub
Макрос для этапа d алгоритма:
Sub TrSolve( ) ' запускается по Ctrl+Shift+x и решает СЛАУ
Dim n As Integer ' с верхней треугольной матрицей
Dim TR As Range ' в выделенной прямоугольной области.
For Each TR In Selection.Areas ' Цикл по выделенным областям.
in = TR.Row: jn = TR.Column ' строка и столбец начала матрицы
n = TR.Rows.Count ' число строк матрицы
If n + 1 <> TR.Columns.Count Then
торый будет решать СЛАУ с верхней треугольной матрицей (его будем вызывать по нажатию клавиш Ctrl+Shift+x или щелчку по x-кружку). Макрос, используемый на этапах a и b алгоритма: Sub E( ) ' Запускается по Ctrl+Shift+E и создаѐт единичную матрицу E Dim TR As Range ' в выделенной прямоугольной области. Dim n As Integer For Each TR In Selection.Areas ' Цикл по выделенным областям. n = Sqr(TR.Count) ' Определение числа выделенных ячеек. i1 = TR.Row: j1 = TR.Column ' Номера начальных строки и столбца. TR = 0 ' Обнуление диапазона и запись For i = 1 To N: Cells(i1 + i - 1, j1 + i - 1) = 1: Next i ' на главную диагональ. Next ' Конец цикла по выделенным областям End Sub Макрос, используемый на этапе b алгоритма: Sub Lk() ' запускается по Ctrl+Shift+L и нормирует главный столбец Dim TR As Range: Dim n As Integer For Each TR In Selection.Areas ' Цикл по выделенным областям. n = TR.Count: i1 = TR.Row: j1 = TR.Column ' опр. числа эл-тов и индексов For i = i1 + 1 To i1 + n - 1 Cells(i, j1) = - Cells(i, j1) / Cells(i1, j1) Next i Cells(i1, j1) = 1 Next End Sub Макрос для этапа d алгоритма: Sub TrSolve( ) ' запускается по Ctrl+Shift+x и решает СЛАУ Dim n As Integer ' с верхней треугольной матрицей Dim TR As Range ' в выделенной прямоугольной области. For Each TR In Selection.Areas ' Цикл по выделенным областям. in = TR.Row: jn = TR.Column ' строка и столбец начала матрицы n = TR.Rows.Count ' число строк матрицы If n + 1 <> TR.Columns.Count Then 13
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »