8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 33 34 35 36 37 38 39 ... 177

Перемножаем их С использованием векторизации;

P:=(MN)

Выводим результат

Г6

$

р =

18

35

30

,49

64

81;

Ввести оператор векторизации можно либо с панели Matrix (Матричные), Либо сочета-кнем клавиш Ctri+-. Перед тем как ввести этот оператор, следует выделить преобразуемое выражение.

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

Пример 3.20. Разнообразие векторизации

С помощью операции векторизации можно возвести одну матрицу в степень, которая представляется в виде другой матрицы, И это совсем не абсурд: просто каждый элемент одной матрицы будет возведете в степень, равную значению соответствующего ему элемента второй матрицы;

<i

2

П

. »"Ч".* •

f2 3

4

[ 1

8

Х\

М;=

2

}

I

N >

г 4

5

4

]

1

2

3

<б 3

,64

27

Используя векторизацию, можно получить матрицу значений любой функции в точках, равных по значению элементам исходной матрицы. А это может значительно облегчить задачу обработки данных и построения графиков:

f 0.841 0.909 0.841 1

-*

sin(M) = 0.909 0.14 1 0.841 ,0.909 0.141 0.141,/

3.3. Использование матричных функций

Работа с матрицами — это наиболее важная и наиболее часто используемая область компьютерной математики. Поэтому совсем не удивительно, что специальных матричных функций в Mathcad очень много — более 50 (значительно больше, чем любых других). Аналогично другим встроенным функциям, для задания матричных функций нужно воспользоваться командой Insert► function (Вставить функцию) главного меню либо соответствующей ей кнопкой панели Standard. Также матричные функции можно просто набрать с клавиатуры. Первый способ предл очтител ьнее в том плане, что запомнить синтаксис такого большого кол ичества функций очень сложно, а также тем, что вы всегда сможете прочитать описание нужной вам матричной функции в случае, если нет уверенности в собственных знаниях.

Все матричные функции можно разделить на несколько основных типов: редактирование, создание матриц специального вида, поиск матричных норм и др. Поэтому в этой


главе матричные функции рассматриваются не но отдельности, а функциональными группами.

3.3.1. Задание матриц специального вида

Существует! целый ряд матриц так называемого специального вида (верхние и нижние треугольные, единичные, трапециевидные, скалярные, нулевые и некоторые другие). В Malhcac! имеются функции, которые позволяют быстро и просто задавать матрицы специального вида.

□ identrty(N). Эта функция служит для задания единичной матрицы размерности N. Пример 3.30. Создание единичной матрицы

ft 0 0>

identity(3) =

О I О V0 О ],

□ diag(V). Функция создает диагональную матрицу, элементы главной диагонали которой равны соответствующим элементам вектора V,

3.3.2. Функции определения размерности матрицы

□ Функции rows(M) и cols(M). Служат для определения количества строк и соответственно столбцов некоторой матрицы М.

Пример 3.31. Определение размерности матрицы

МЧб 7 б)

rows(M)=2 cols(M) = 3 □ length(V). Функция определяет количество элементов вектора. Q last(V). Функция служит для определе1шя индекса последнего элемента некоторого вектора V. По умолчанию last(V)«length(V)-t, Эти две функции очень важны при решении задач программными методами, поэтому мы с ними еще не раз встретимся.

Пример 3.32. Определение размерности вектора

V:=

М:=

length (V) 3

(г г\

ИГ

las«(M<]))=

3.3.3. Функции сортировки матриц

При решении очень многих задач возникает необходимость отсортировать полученные векторы или матрицы исходя из величины их элементов или по какому-то дну-


гому принципу. При решении большинства сложных задач о помощью программирования, как правило, приходится использовать функции сортнронки. Поэтому их значение очень велико и функции эти нужно постараться запомнить.

□sort(V). Сортировка элементов векгора по возрастанию. Одна из наиболее важных и часто используемых на практике матричных функций. Может быть использована и в том случае, если часть элементов вектора определена комплексными числами При этом сортировка проводится исходя из действительной части числа, а мнимая часть просто игнорируется.

Пример 3.33. Сортировка элементов вектора

( 1 1Г ~3

V;= -3sort(V) = 1

,5-8-iJk3-8/

□csort(M,i) Функция выполняет сортировку по возрастанию элементов i-ro столбца некоторой матрицы М.

Пример 3.34. Сортировка выбранного столбца квадратной матрицы

(А Ь \\(2 -41 2\

М :=

1 0 3

{2 -41 2)

csort(M, 1) =

I

U

Также очень просто можно отсортировать все столбцы матриц. Для этого следует задать цикл с помощью ранжированных переменных. Обратите внимание на использование функции Ust{V) в зтом примере.

Пример 3.35. Сортировка столбцов матрицы

М

U s П

! 0 3

i:=0.

,2 -41 2,

:=*оп(ма

) Mi -

1 -41 Р 2 0 2

И 5 з;

Ml

Q rsort(m). Фушшня сортирует в порядке возрастания элементы i-fl строки матрицы М за счет перестановки соответствующих столбцов. В своем роде абсолютно идентична функции csort(M,l).

Пример 3.36. Сортировка выбранной строки матрицы

14 5 гаогл(М,0) = 3 1 0 ч2 2 -4i;

Если необходимо отсортировать все строки матрицы, то проще всего действовать исходя из следующего алгоритма.

г"4 5 Г

1 0 3

ч2 -41 2j



0 ... 33 34 35 36 37 38 39 ... 177