Массивы (векторы и матрицы).

 Массив - имеющая уникальное имя совокупность конечного числа числовых или символьных элементов, упорядоченных определенным образом и имеющих определенные адреса. В системе MathCAD используются массивы: одномерные (векторы) и двумерные (матрицы). Порядковый номер элемента называете индексом. Нижняя граница индексации задается значением системной переменной ORIGIN, которая может принимать значение 0 или другое некоторое число.

 

Векторы могут быть двух типов: векторы-строки и векторы-столбцы. Например:

10

20        вектор-столбец            [10 20 30]—вектор-строка

30

Несмотря на то что два этих вектора имеют одни и те же числовые значения элементов, они различны по типу и дадут разные результаты при векторных и матричных операциях.

 

Матрица может рассматриваться как совокупность ряда векторов одинаковой длины, например:

7        1          0

12      45        8

0        11        51

 

Создание массивов

Имеется три способа создать массив:

1) Воспользоваться командой Matrices... (Матрицы...) пункта меню Math (Математика), нажатием клавиш Ctrl-M или вводом пиктограммы с изображением шаблона матрицы. Это вызывает вначале появление диалогового окна, в котором надо указать размерность матрицы, т. е. количество ее строк т и столбцов п. Для векторов один из этих параметров должен быть равен 1. При т = 1 получим вектор-столбец, а при п = 1— вектор-строку. Матрица является двумерным массивом с числом элементов тхп. Элементы векторов и матриц помещаются между большими квадратными скобками. На месте визира появится шаблон

В знакоместа шаблона ввести значения элементов вектора (матрицы). Переход к следующему знакоместу производится нажатием клавиши Tab.

 

Обращаться к отдельным элементам вектора или матрицы можно используя нижний  индекс. Для элемента матрицы указываются два индекса, один для номера строки, другой для номера столбца. Чтобы ввести нижний индекс нужно нажать клавишу [ после имени вектора или матрицы. Например:

       Нажмем клавиши V[2 получим: V2      

        Нажмем клавиши M[3,4 получим: M3,4

 

Индексы могут иметь только целочисленные значения. Они могут начи­наться с нуля или с целого числа, например единицы, в соответствии со значе­нием системной переменной ORIGIN. В отношении индексированных пере­менных действуют те же правила присваивания и вывода, что и для обычных переменных. В частности, с помощью операций присваивания можно создать вектор или матрицу заданной размерности и заданного типа без ручного вы­вода их шаблоном и без их заполнения.

 

 2) Использование ранжированной переменной. Этот способ применяется тогда, когда имеется явная формула для вычисления значений элементов массива и их индексов. Ранжированная переменная, используемая для определения индекса массива должна быть целочисленной. Например: ORIGIN := 1

j := 1..10

 

3) Создать массив можно считывая его из файла данных.

 

Операторы для работы с векторами и матрицами

Обозна­чения: для векторов — V, для матриц — М и для скалярных величин — z. Приводим некоторые операторы работы с векторами и матрицами:

Оператор         Ввод                              Назначение оператора

VI+V2            VI+V2                           Сложение двух векторов VI и V2

VI-V2             VI-V2                            Вычитание двух векторов VI и V2

-V                  -V                                   Смена знака у элементов вектора V

                                                   Смена знака у элементов матрицы

V-z                 V-z                                Вычитание из вектора V скаляра z

z*V, V*z       z*V, V*z                       Умножение вектора V на скаляр Z

z*M, M*z      z*M, M*z                     Умножение матрицы М на скаляр Z

VI*V2            VI*V2                            Умножение двух векторов VI и V2

M*V              M*V                               Умножение матрицы М на вектор V

М1*М2         М1*М2                          Умножение двух матриц М1 и М2

                      V/z                                 Деление вектора V на скаляр z

                      M/z                                Деление матрицы М на скаляр z

М'                  М^-1                             Обращение матрицы М

М"                  М^n                               Возведение матрицы М в степень п

M[                  im                                             Вычисление определителя матрицы

AT                 A Ctrl 1                         Транспонирование вектора или матрицы А

A-                   A Ctrl -                          Векторизация вектора или матрицы  А

 

Приведенные операторы известны из математического аппарата матричных вычислений. Поясним смысл оператора "векторизация". Оператор "векторизация" подразумевается одновре­менное проведение математических операций в их скалярном значении над всеми элементами вектора или матрицы, помеченными знаками векториза­ции. Например, если V — вектор, то выражение cos(V) будет недопустимым, поскольку аргументом функции cos может быть только скалярная величина или переменная. Однако со знаком векторизации функция cos(V) возвращает вектор, каждый элемент которого есть косинус значения соответствующего исходного вектора V.

 

Векторные функции для работы с векторами и матрицами.

Некоторые из них:

lcngth(V) — возвращает длину вектора:

last(V) — возвращает индекс последнего элемента;

max(V) — возвращает максимальный по значению элемент:

min(V) — возвращает минимальный по значению элемент;

 

Матричные функции

Для работы с матрицами также существует ряд встроенных функций. Они перечислены ниже.

augment(MI, М2)     — объединяет в одну матрицы М1 и М2, имеющие оди­наковое число строк

 identity(n)            — создает единичную квадратную матрицу размером пхп,

stack(MI, Ì2)     — объединяет две матрицы М1 и M2, имеющие оди­наковое число столбцов, сажая M1 над M2:

diag(V)           - создает диагональную матрицу, элемент главной диагонали которой — вектор V;

cols(M)     — возвращает число столбцов матрицы М;

rows(M)    — возвращает число строк матрицы М;

rank(M)     — возвращает ранг матрицы М;

tr(M)       — возвращает след (сумму диагональных элементов) квадрат­ной матрицы М;

mean(M)    — возвращает среднее значение элементов массива М;

median(M)   возвращает медиану элементов массива М;