Использование функций при работе с матрицами и векторами
Функции, предназначенные для решения задач линейной алгебры, собраны в разделе Векторы и матрицы (Vector and Matrix); их можно разделить на три группы: 1) функции определения матриц и операции с блоками матриц; 2) функции вычисления различных числовых характеристик матриц; 3) функции, реализующие численные алгоритмы решения задач линейной алгебры. Рассмотрим наиболее часто используемые функции.
Функции определения матриц и операции с блоками матриц:
matrix(m, n, f) – создает и заполняет матрицу размерности , элемент которой, расположенный в i-ой строке, j-ом столбце, равен значению некоторой функции f(i, j), причем i=0,1.. m и j =0,1.. n;
diag(v) – создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе v;
identity(n) – создает единичную матрицу порядка n;
augment(A, B) – формирует матрицу, в первых столбцах которой содержится матрица A, а в последних матрица B (матрицы A и B должны иметь одинаковое количество строк);
stack(A, B) – формирует матрицу, в первых строках которой содержится матрица A, а в последних матрица B (матрицы A и B должны иметь одинаковое количество столбцов);
submatrix(A, ir, jr, ic, jc) – формирует матрицу, которая является блоком матрицы A, расположенным в строках с ir по jr и в столбцах с ic по jc, .
Номер первой строки (колонки) матрицы или первой компоненты вектора хранится в MathCAD в переменной ORIGIN(имя данной переменной необходимо записывать заглавными буквами). По умолчанию в MathCAD координаты векторов, столбцы и строки матрицы нумеруются начиная с нуля (ORIGIN:=0). Поскольку в математической записи чаще используется нумерация с 1, то необходимо перед началом работы с матрицами, векторами, ранжированными переменными задавать данной переменной значение 1 (ORIGIN:=1).
Фрагменты документа MathCAD, содержащего примеры с использованием перечисленных выше функций, приведены на рис. 27 и 28.
Рис. 27. Фрагмент MathCAD-документа: примеры использования функций определения матриц и операций с блоками матриц
Рис. 28. Фрагмент MathCAD-документа: