513
.pdf4. ВЕКТОРЫ, МАТРИЦЫ И ОСНОВНЫЕ ОПЕРАЦИИ НАД НИМИ
Одиночное число в Mathcad называется скаляром. Столбец чисел называется вектором, а прямоугольная таблица чисел − матрицей. Общий термин для вектора и матрицы − массив.
Благодаря наличию в системе Mathcad операторов задания векторов и матриц, операции над ними выполняются так же просто, как и с обычными переменными. Практически все операции могут проводиться над векторами и матрицами как с действительными, так и с комплексными элементами.
Элементами массива могут быть числа, константы, переменные и даже математические выражения. Соответственно, матрицы могут быть численными и символьными.
Для создания матрицы необходимо вызвать диалоговое окно (рис. 4.1, а) с помощью нажатия мышью в строке меню на Insert и далее в падающем меню на Matrix, либо использованием сочетания клавиш
[Ctrl + M], либо нажатием на кнопку на панели математических инструментов.
а |
б |
Рис. 4.1. Окно диалога определения размеров матрицы (а)
ишаблон матрицы, появляющийся в рабочем документе (б)
Впоявившемся меню устанавливается количество строк Rows и количество столбцов Columns. После нажатия либо на OK, либо на Insert
врабочем документе появится шаблон матрицы (рис. 4.1, б). Шаблон содержит обрамляющие скобки и темные маленькие прямоугольники, обозначающие места ввода значений элементов вектора или матрицы (числовых или символьных). Один из прямоугольников можно сделать ак-
41
Стр. 41 |
ЭБ ПНИПУ (elib.pstu.ru) |
тивным, отметив его курсором мыши, при этом он заключается в синий уголок. Это указывает на то, что в него будут вводиться значения соот-
ветствующего элемента . Перемещаться по массиву можно либо стрелками, либо при помощи клавиши Tab. Пока идет ввод элементов вектора или матрицы, пустые шаблоны отображаются без каких-либо комментариев. Однако если закончить ввод до полного заполнения шаблона, система выведет сообщение об ошибке и незаполненные шаблоны приобретут красный цвет. Вывод несуществующей матрицы или ошибочное указание ее индексов также отображается красным цветом.
В системе Mathcad можно задавать матрицу не более чем из 100 зна-
чений (10×10).
Размеры уже выведенного шаблона матрицы можно изменять (вставлять или удалять стоки и столбцы) следующим образом:
− для вставки или удаления сток в поле Columns наберите 0, а в поле Rows, число необходимых строк; вставляются стоки ниже выделенного элемента, а удаляются строки по выделенному элементу и вниз от него;
− для вставки или удаления столбцов в поле Rows наберите 0, а в поле Columns – число необходимых столбцов; вставляются столбцы справа от выделенного элемента, а удаляются по выделенному элементу
исправа от него. При вставке строк и столбцов в диалоговом окне используются клавиши OK или Insert, при удалении − клавиша Delete.
Каждый элемент матрицы можно представить в виде индексированной переменной, и его положение в матрице обозначается двумя индексами: один указывает номер строки (i), другой – номер столбца (j). Для вывода какого-либо элемента матрицы необходимо после имени матрицы указать индексы этого элемента, для чего нажимается клавиша [
инабираются номера индексов. Сначала указывается индекс строки, а за ним через запятую – индекс столбца.
По умолчанию массивы Mathcad нумеруются с нулевого элемента. Чтобы изменить этот порядок, необходимо изменить значение встроенной переменной ORIGIN. Задав в рабочем документе команду ORIGIN := 1, устанавливаем, что нумерация сток и столбцов в матрице начинается с 1, а не с 0.
Ниже приведены основные векторные и матричные операции; мат-
рицы обозначены буквой М, векторы − V, скалярные величины − z. Здесь же представлены основные сочетания клавиш, с помощью которых мож-
42
Стр. 42 |
ЭБ ПНИПУ (elib.pstu.ru) |
но вызвать эти операции, и показаны соответствующие кнопки панели матричных операций, которая открывается при нажатии на кнопку, находящуюся на панели математических инструментов (табл. 4.1).
|
|
|
|
Таблица 4.1 |
|
|
|
|
|
|
|
Операция |
|
Обозначение |
|
Клавиши |
|
|
|
|
|
|
и кнопки |
Выделение элемента матрицы |
|
|
Mi,j |
|
M [ i , j |
Выделение j-го столбца матрицы |
|
|
M<j> |
|
Ctrl 6 |
|
|
|
|
||
|
|
|
|
|
|
Умножение и деление каждого элемента масси- |
|
M*z M/z |
|
|
|
ва на скаляр |
|
V*z V/z |
|
|
|
|
|
V1+V2 |
|
|
|
Сложение, вычитаниеиумножениедвухвекторов |
|
V1-V2 |
|
|
|
|
|
V1*V2 |
|
|
|
Вычисление суммы компонентов вектора |
|
|
V |
|
CTRL 4 |
|
|
|
|
||
|
|
|
|
|
|
Сложение матриц. |
|
M1+M2 |
|
|
|
При сложении матрицы должны иметь одинако- |
|
|
|
||
вое количество сток и столбцов |
|
|
|
|
|
Умножение матриц. |
|
|
|
|
|
При умножении матрица M1 должна иметь |
|
M1*M2 |
|
|
|
столькоже строк, сколькостолбцовуматрицыM2 |
|
|
|
|
|
Транспонирование векторов и матриц. Строки |
|
|
MT |
|
Ctrl 1 |
|
|
|
|
||
делаются столбцами, а столбцы стоками |
|
|
|
|
|
|
|
|
|
|
|
Векторизация массива, т.е. операции с массивом |
|
|
→ |
|
Ctrl − |
|
|
V |
|
|
|
будут производиться поэлементно |
|
|
→ |
|
|
|
|
|
M |
|
|
Определение длины вектора и детерминанта |
|
|
|V| |
|
Shift \ |
(определителя) квадратичной матрицы |
|
|
|M| |
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
Вычисление скалярного произведения векторов |
V1*V 2 |
= V1i V 2i |
|
||
|
|
|
i=1 |
|
|
Вычисление векторного произведения векторов |
|
V1× V 2 |
|
|
Система Mathcad имеет также ряд векторных и матричных функции. Часть функций общего назначения представлена ниже:
matrix(m,n,f) − создает и заполняет матрицу размерности m×n, элементы которой, расположенные в i-й строке, j-м столбце, равны значениям f(i,j) функции f(x,y);
43
Стр. 43 |
ЭБ ПНИПУ (elib.pstu.ru) |
rows(M) − определяет число строк в массиве; cols(M) − определяет число столбцов в массиве; length(V) − определяет число элементов в векторе;
last(V) − определяет индекс последнего элемента в векторе; max(M) − находит элемент в массиве с наибольшим значением; min(M) − находит элемент в массиве с наименьшим значением; Re(M) − создает массив, состоящий из элементов, которые являются
вещественной частью элементов M;
Im(M) − создает массив, состоящий из элементов, которые являются мнимой частью элементов M;
diag(V) − создает диагональную матрицу, элементы главной диагонали которой хранятся в векторе V;
identity(n) − создает единичную матрицу (n×n), все диагональные элементы которой равны 1, а все остальные элементы равны 0;
tr(M) − вычисление следа квадратичной матрицы М (след матрицы равен сумме ее диагональных элементов);
augment(M1,M2) − создает массив, формирующийся расположением матриц М1 и М2 бок о бок; матрицы М1 и М2 должны иметь одинаковое число строк;
stack(M1,M2) − создает массив, формирующийся расположением матриц М1 и М2 друг над другом; матрицы М1 и М2 должны иметь одинаковое число столбцов.
На рис. 4.2 показан фрагмент рабочего документа Mathcad, где используются некоторых из перечисленных функций.
Также к функциям работы с матрицами можно отнести функции сортировки массивов:
sort(V) − сортирует элементы вектора в порядке возрастания; csort(A,n) − сортирует строки матрицы таким образом, чтобы распо-
ложить элементы в столбце n в порядке возрастания. Результат имеет тот же самый размер, что и А;
rsort(A,n) − сортирует столбцы матрицы таким образом, чтобы расположить элементы в строке n в порядке возрастания. Результат имеет тот же самый размер, что и А;
reverse(V) или reverse(A) − обращает порядок элементов вектора V или строк матрицы A.
44
Стр. 44 |
ЭБ ПНИПУ (elib.pstu.ru) |
Рис. 4.2. Пример применения матричных функций
Задания для самостоятельного выполнения
1.Переопределите заданную по умолчанию нумерацию элементов массива, использовав для этого встроенную переменную ORIGIN.
2.Создайте вектор V из 3 элементов и матриц X (4×3) и M (3×4) из любых целых чисел, например:
10 |
11 |
4 |
1 |
5 |
6 |
2 |
1 |
||||
M := 12 |
3 |
5 |
|||||||||
V := |
3 |
X := |
3 |
9 |
7 |
1 |
|||||
|
|
|
|
|
|
|
|
7 |
0 |
|
|
|
|
|
|
|
|
|
|||||
16 |
|
2 |
5 |
3 |
8 |
|
9 |
8 |
|
||
|
|
|
|
|
|
|
|
4 |
3.Выделите следующие элементы матрицы: X1,3 M3,3.
4.Выделите 2-й столбец матрицы X и M.
5.Вычислите суммы компонентов следующих векторов:
−вектор, состоящий из 1-й строки матрицы X;
−вектор, состоящий из 3-й столбца матрицы X;
−вектор, состоящий из 4-й строки матрицы M;
−вектор, состоящий из 2-й столбца матрицы M.
45
Стр. 45 |
ЭБ ПНИПУ (elib.pstu.ru) |
6. Найдите значения выражений:
X 8; M/4; V 3; V/9.
7. Найдите:
−сумму векторов V и вектора, состоящего из 4-го столбца матрицы X;
−разницу векторов V и вектора, состоящего из 2-го столбца матрицы X;
−произведение векторов V и вектора, состоящего из 3-го столбца матрицы X.
8.Создайте новый массив V1 и M1 с помощью транспонирования вектора V и матрицы M соответственно.
9.Найдите сумму двухматриц(Х+ М1) и произведениематриц(Х М).
10.Создайте новую матрицу с помощью:
−деления числа 4 на каждый элемент массива Х,
−возведя в 3-ю степень каждый элемент массива Х,
− извлекая квадратный корень из каждого элемента массива М (в этом случае используйте векторизацию массива).
11.Определите длину вектора V и детерминант квадратичной матрицы, полученной произведением двух матриц (Х М).
12.Используя функции augment и stack, создайте массив А из X и V, массив А1 из X и М1. Для массива А1 с помощью матричных функций определите количество строк и столбцов, наибольшие и наименьшие значения массива.
13.Используя функцию matrix, создайте матрицу 4×5, значения элементов матрицы определяются функцией f(x,y)=3 x-y/2.
14.Для нижеприведенного массива HB определите:
−наибольшие и наименьшие значение;
−сумму векторов, состоящих из 2 и 9 столбцов;
−составьте новую матрицу HB1 из 7 и 4 столбцов;
−составьте вектор Н из диагональных элементов и найдите произведение этого вектора с вектором, состоящим из 1 столбца;
−составьте новую матрицу, разделив число 4000 на квадратный корень из каждого элемента массива НВ.
46
Стр. 46 |
ЭБ ПНИПУ (elib.pstu.ru) |
47
Стр. 47 |
ЭБ ПНИПУ (elib.pstu.ru) |
5.ФУНКЦИИ В СИСТЕМЕ MATHCAD
5.1.Встроенные функции и функции пользователя
Система Mathcad содержит множество встроенных функций, которые можно разделить на элементарные и специальные, функции статистики, регрессии, сглаживания и пр. Особенностью функций является то, что в ответ на обращение к ним по имени с указанием аргумента (или списка аргументов) они возвращают некоторое значение − символьное, числовое, вектор или матрицу.
Элементарные функции в системе Mathcad можно подразделить на тригонометрические, гиперболические и алгебраические. Все они, кроме функции angle(x,y), вычисляющей угол (в радианах) радиус-вектора точки (x,y), могут иметь аргумент в виде как действительных чисел, так и комплексных. К широко распространенным функциям относятся также функции выделения действительной Re(Z) и мнимой Im(Z) частей комплексного числа, а также функция вычисления аргумента arg(Z). Аргу-
ментом является угол θ в выражении r e jθ , лежащий в пределах [–3,14…+3,14]. К специальным математическим функциям относятся: функция Бесселя, гамма-функция, функции ошибок и др.
Чтобы просмотреть список всех встроенных функций, необходимо вызвать диалоговое окно вставки функции (рис. 5.1). Это можно сделать
либо нажатием мышью на кнопку на панели инструментов, либо одновременным нажатием клавиш Ctrl и F, либо выбрав в меню команду Insert (вставка) и далее в ниспадающем меню команду Function.
Функции могут быть вставлены в рабочий документ с помощью диалогового окна, также функции можно набирать с клавиатуры. Имена встроенных функций не чувствительны к штифту, но чувствительны к регистру. Поэтому имена функций должны быть напечатаны с использованием прописных или строчных букв точно так, как показано в табл. 5.1, где также приведена часть элементарных и специальных функций, встроенных в систему, вид обращения к ним и примеры.
48
Стр. 48 |
ЭБ ПНИПУ (elib.pstu.ru) |
Рис. 5.1. Диалоговое окно вставки функции
|
|
|
|
Таблица 5.1 |
|
|
|
|
|
|
Вид функции |
|
Обозначение |
Пример |
|
1 |
|
2 |
3 |
|
Экспоненциальная функция |
|
exp(z) |
exp(2)=7.389 |
|
Натуральный логарифм |
|
ln(z) |
ln(2)=0.693 |
|
Десятичный логарифм |
|
log(z) |
log(2)=0.301 |
|
Угол радиус-вектора |
|
angle(x,y) |
angle(1,1)=0.78 |
|
Синус (угол в радианах) |
|
sin(z) |
sin(1)=0.841 |
|
Косинус |
|
cos(z) |
cos(1)=0.54 |
|
Тангенс |
|
tan(z) |
tan(1)=1.557 |
|
Косеканс |
|
csc(z) |
csc(1)=1.188 |
|
Секанс |
|
sec(z) |
sec(1)=1.851 |
|
Котангенс |
|
cot(z) |
cot(1)=0.642 |
|
Арксинус |
|
asin(z) |
asin(1)=1.571 |
|
Арккосинус |
|
acos(z) |
acos(1)=0 |
|
Арктангенс |
|
atan(z) |
atan(1)=0.785 |
|
Гиперболический синус |
|
sinh(z) |
sinh(1)=1.175 |
|
Гиперболический косинус |
|
cosh(z) |
cosh(1)=1.543 |
|
Гиперболический тангенс |
|
tanh(z) |
tanh(1)=0.762 |
|
Гиперболический косеканс |
|
csch(z) |
csch(1)=0.851 |
|
Гиперболический секанс |
|
sech(z) |
sech(1)=0.648 |
|
Гиперболический котангенс |
|
coth(z) |
coth(1)=1.313 |
|
Гиперболический арксинус |
|
asinh(z) |
asinh(1)=0.881 |
|
Гиперболический арккосинус |
|
acosh(z) |
acosh(1)=1.317 |
|
Гиперболический арктангенс |
|
atanh(z) |
atanh(1)=0.203 |
|
Функция Бесселя |
|
J0(x) |
J0(1)=0.765 |
|
Функция Бесселя |
|
J1(x) |
J1(1)=0.44 |
|
|
|
|
49 |
Стр. 49 |
ЭБ ПНИПУ (elib.pstu.ru) |
|
|
|
Окончание табл. 5.1 |
|
|
|
|
|
1 |
2 |
|
3 |
Функция Бесселя |
Jn(n,x) |
|
Jn(1,1)=0.44 |
Функция Бесселя |
Y0(x) |
|
Y0(1)=0.088 |
Функция Бесселя |
Y1(x) |
|
Y1(1)=-0.781 |
Функция Бесселя |
Yn(n,x) |
|
Yn(1,1)=- 0.781 |
Гамма-функция |
Г(x) |
|
Г(0.5)=1.772 |
Функция вероятности ошибок |
erf(x) |
|
erf(1)=0.843 |
Действительная часть числа |
Re(z) |
|
z=2+3i Re(z)=2 |
Мнимая часть числа |
Im(z) |
|
Im(z)=3 |
Аргумент |
arg(z) |
|
arg(z)=0.983 |
Наряду со встроенными функциями могут задаваться и функции пользователя с помощью конструкции:
Имя (Список аргументов) := Выражение.
Функция пользователя может иметь один или несколько аргументов, образующих список. Аргументы в списке разделяются запятыми. В выражение могут входить как переменные из списка аргументов, так и переменные, используемые в других блоках документа. Функция пользователя воспринимает также значения других переменных, которые были им присвоены или доопределены.
5.2. Статистические функции
Система Mathcad позволяет проводить наиболее распространенные статистические расчеты над данными, заданными в виде вектора. Имеющиеся в наличии встроенные функции позволяют проводить статистический анализ данных, регрессионный анализ, интерполяцию, сглаживание временных рядов, генерировать случайные величины, подчиняющиеся различным законам распределения и т.д.
Так, для вычисления основных статистических характеристик случайных совокупностей используются следующие функции (в последующих описаниях m и n представляют число рядов и столбцов рассматриваемых массивов A и V, переменная ORIGIN по умолчанию принята равной нулю):
mean(V) или mean(А) − вычисляет среднее значение элементов массива согласно формуле
50
Стр. 50 |
ЭБ ПНИПУ (elib.pstu.ru) |