Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Компьютерные технологии в машиностроении. Основы работы в системе Mathca

.pdf
Скачиваний:
20
Добавлен:
15.11.2022
Размер:
2.13 Mб
Скачать

4. ВЕКТОРЫ, МАТРИЦЫ И ОСНОВНЫЕ ОПЕРАЦИИ НАД НИМИ

Одиночное число в 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)