2. Работа с массивами
Ранжированная переменная отличается от вектора (одномерного массива) тем, что невозможно использование ее отдельных значений. При необходимости иметь доступ к каждому значению переменной со многими компонентами она должна быть задана в виде одномерного (вектора) и двумерного (матрицы) массива.
Местоположение элемента массива задается одним индексом для вектора и двумя для матрицы. Индексы могут быть только положительными целыми числами. Для ввода индекса используется знак « [ » - прямая открывающая скобка.
Для задания массивов можно либо воспользоваться командой Matrices меню Math, либо нажать комбинацию клавиш Ctrl+V, либо щелкнуть на значке с изображением шаблона матрицы. Любое из этих действий вызывает появление диалогового окна, в котором надо указать количество строк m и столбцов n в массиве. При m=1 получим вектор-столбец, а при n=1 - вектор-строку.
В отношении массивов действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью оператора присваивания можно создать массив заданного размера и заданного типа без ручного заполнения шаблона (рисунок 2.1.).
Рис. 2.1 Пример создания матриц без использования шаблонов матриц
Для работы с массивами Mathcad содержит ряд операторов и функций. Ниже представлены операторы для работы с векторами и матрицами. В таблице используются следующие обозначения: V - для векторов, M - для матриц, Z - для скалярных величин.
Оператор |
Ввод |
Описание |
|
V1+V2 |
V1+V2 |
Сложение векторов V1 и V2 |
|
V1-V2 |
V1-V2 |
Вычитание векторов V1 и V2 |
|
-V |
-V |
Смена знака у элементов вектора V |
|
-M |
-M |
Смена знака у элементов матрицы M |
|
V-Z |
V-Z |
Вычитание из всех элементов вектора V скаляра Z |
|
Z*V, V*Z |
Z*V, V*Z |
Умножение вектора V на скаляр Z |
|
Z*M, M*Z |
Z*M, M*Z |
Умножение матрицы M на скаляр Z |
|
V1*V2 |
V1*V2 |
Скалярное умножение векторов V1 и V2 |
|
M*V |
M*V |
Умножение матрицы M на вектор V |
|
M1*M2 |
M1*M2 |
Умножение матрицы M1 на матрицу M2 |
|
V/Z |
Деление всех элементов вектора V на скаляр Z |
||
M/Z |
Деление всех элементов матрицы M на скаляр Z |
||
M-1 |
M^-1 |
Обращение матрицы M |
|
Mn |
M^n |
Возведение матрицы M в степень n |
|
|V| |
|V |
Вычисление модуля вектора V |
|
|M| |
|M |
Вычисление определителя матрицы M |
|
VT |
V Ctrl+! |
Транспонирование вектора V |
|
MT |
M Ctrl+! |
Транспонирование матрицы M |
|
V1V2 |
V1 Ctrl+* V2 |
Векторное умножение векторов V1 и V2 |
|
Alt+$ V |
Вычисление суммы элементов вектора V |
||
M<n> |
M Ctrl+^ n |
Выделение n-ого столбца матрицы M |
|
Vn |
V[n |
Выделение n-ого элемента вектора V |
|
Mm,n |
M[(m,n) |
Выделение элемента (m, n) матрицы M |
Существует ряд встроенных векторных и матричных функций. Они облегчают решение задач линейной алгебры и других сфер приложения векторов и матриц.
length(V) |
возвращает число элементов вектора |
|
last(V) |
возвращает номер последнего элемента вектора |
|
max(V) |
возвращает максимальный по значению элемент вектора или матрицы |
|
min(V) |
возвращает минимальный по значению элемент вектора или матрицы |
|
augment(M1,M2) |
объединяет в одну две матрицы, имеющие одинаковое число строк (объединение идет бок о бок) |
|
identity(n) |
создает единичную квадратную матрицу размером n*n |
|
stack(M1,M2) |
объединяет в одну две матрицы, имеющие одинаковое число столбцов, располагая М1 над М2 |
|
submatrix(A,ir,jr,ic,jc) |
возвращает субматрицу, состоящую из всех элементов содержащихся в строках от ir по jr и столбцов с ic по jc (irjr и icjc) |
|
diag(V) |
создает диагональную матрицу, элементы главной диагонали которой равны элементам вектора V |
|
matrix(m,n,f) |
создает матрицу, в которой (i, j) элемент равен f(i,j), где i=0, 1, …, m и j=0, 1, …, n; f(i,j) - некоторая функция |
|
cols(M) |
возвращает число столбцов матрицы M |
|
rows(M) |
возвращает число строк матрицы M |
|
rank(M) |
возвращает ранг матрицы M |
|
tr(M) |
возвращает след (сумму диагональных элементов) матрицы M |
|
mean(M) |
возвращает среднее значение элементов матрицы M |
Примеры работы с матрицами приведены на рисунке 2.2.
Рис. 2.2. Примеры работы с матрицами
- Решение линейной системы уравнений
- Лабораторная работа № 2 Работа с массивами и решение систем уравнений в Mathcad
- 4.1. Решение дифференциальных уравнений в системе MathCad
- Решение уравнений средствами Mathcad
- Решение систем линейных уравнений в MathCad
- Решение алгебраических уравнений в MathCad
- Решение систем линейных уравнений в MathCad
- Решение систем линейных уравнений в пакете Mathcad
- Упражнение 6. Решение системы линейных уравнений