Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы программирования для студентов технологического профиля. Учебное пособие
.pdf
71
У м н о ж е н и е ( д ел ен и е ) к а ж д о г о э л е м ен т а
2 P
6
10
30
58
18
14
2
42
16
P
2
1.5
2.5
7.5
14.5
4.5
3.5
0.5
10.5
4
P P2
66
128
69
41
87
76
284
158
184
C
1
2
3
P C
64
86
53
P
0 0
3
м а т р иц ы н а с к ал яр :
У м н о ж е н и е м а т р и ц . Умножение матриц
выполняется только в том случае, если число столбцов первой
матрицы совпадает с числом строк второй матрицы, например:
У м н о ж е н и е м а т р и ц ы н а в е к то р , например:
2.7.2 Использование матричных операторов для
преобразования матриц и векторов
На панели Mатрицы расположены операторы,
позволяющие выполнять некоторые матричные и векторные
преобразования.
О п е ра т о р в ы д е л е н и я (Хn) элемента матрицы или
вектора позволяет выделить (определить) элемент матрицы или
вектора. При выделении элемента следует учитывать, что по
умолчанию индексация элементов матрицы и векторов
начинается с нуля, например для выделения первого элемента
матрицы P необходима запись:

72
Для ввода второго индекса, необходимо ввести запятую
P3
1
824
Pr P3
1
Pr
0.333
0.667
0.167
0.083
Pr P3
100
1
det P3
det 12
)(Mf
p4
0
2
cos p4( )
1
0
1
после первого индекса и затем в появившийся местозаполнитель
ввести второй индекс массива.
Оператор вычисления обратной матрицы (X-1)
п о з во л я е т вычислить обратную матрицу, например:
К с т ат и , хо р о ш о и з в е с т н о, ч т о е с л и
о б р ат н ую м а т ри ц у умножить на обычную, то получается
единичная матрица:
О п е ра т о р в ы ч и сл е н и я д е т ер м и н а н т а
( о п р е д е л и т е л я ) м а т р и ц ы | Х | :
Определитель матрицы, как известно, это число, вычисляемое
по матрице по определенным правилам.
О п е ра т о р в е к т ор и з а ц и и (
означает выполнение однотипной операции с каждым
элементом массива, например:
В данном случае вычислен косинус от каждого элемента
вектор –столбца p4.
Другой пример: необходимо вычислить десятичный
логарифм от заданной матрицы P4:
) . Векторизация

73
P4
1
100
10
1000
log P4( )
0
2
1
3
Оператор выделения вектор столбца матрицы (M
K P4
0
K
1
100
P2
1
2
5
3
1
3
7
9
2
P2
T
1
3
7
2
1
9
5
3
2
K
1
100
K
T
1 100( )
K101
P5
162738495
10
cols P5( ) 5
позволяет выделить заданный столбец матрицы и записать его в
виде вектор–столбца, например для выделения первого столбца
матрицы P4 необходимо выполнить:
О п е р ат ор т р а н с п о н ир о в а н и я ( МТ) матрицы
позволяет перевернуть матрицу на 90 градусов, так, что столбцы
становятся строками:
Транспонирование вектор–столбца позволяет получить
вектор –строку:
< >)
столбца позволяет вычислить сумму элементов векторстолбца:
матрицы:
О п е р ат ор в ыч исл е н и я с у м мы ( Σ υ ) вектор–
2.7.3 Матричные функции
Ф у н к ци я cols () позволяет определить число столбцов

74
Ф у н к ци я rows () позволяет определить число строк
rows P5( ) 2
max P5( ) 10
minP5( ) 1
mean P5( ) 5.5
C
1
2
3
last C( ) 2
ORIGIN 1
массива:
Ф у н к ци я ma x () позволяет определить максимальный
элемент массива:
Ф у н к ци я min () позволяет определить минимальный
элемента массива:
Ф у н к ци я mea n () позволяет вычислить среднее
значение элементов матрицы:
Ф у н к ци я l a s t () предназначена для вычисления индекса
последнего элемента вектора:
двум, т.к. индексация элементов начинается с нуля.
столбцов используют специальную системную переменную
(ORIGIN) значение которой можно переопределять. Такую
переменную, записанную прописными буквами, необходимо
поместить над матрицей индексы которой переопределяются,
например:
элементов матрицы, расположенной ниже системной
переменной, начата с единицы.
Максимальное значение индекса вектор-столбца С равно
Для изменения начальной индексации матриц и вектор-
Вышеприведенная запись означает, что индексация

75
Для генерации матрицы произвольных размеров можно
i 1 2
j 1 2
M
i j
rnd 10( )
M
1.191
5.317
0.089
6.018
M1
i j
ceil rnd 10( )( )
M1
7
934
ORICIN 1
i 1 2
j 1 2
U
i j
ceil rnd 10( )( )
U
257
10
S
i j
U
i j
S 24
использовать функцию rnd (х), позволяющую получить
равномерно распределенное случайное число от нуля до x.
Сгенерирум квадратную матрицу с элементами, значение
которых не превышает 10:
Если использовать функцию округления ceil (x), которая
вычисляет наименьшее целое число большое или равное x то
получим матрицу с целочисленными элементами:
Программа 2.7.3.1. Найти сумму всех элементов квадратной
матрицы. Cформировать целочисленную матрицу, используя
функцию rnd (максимальное значение элемента равно десяти).
Программа 2.7.3.2. Вычислить сумму отрицательных элементов
заданной квадратной матрицы F и найти число отрицательных
элементов той же матрицы.
Программа в MathCad:

76
F
3
4
2
7
4
3
6
2
3
Определение индексов:
i ORIGIN last F
1
i j
Вычисление числа отрицательных элементов:
N
i j
if F
i j
0 1 0
N=3
Вычисление суммы отрицательных элементов:
SN
i j
if F
i j
0 F
i j
0
SN 10
Программа 2.7.3.3. Вычислить компоненты вектора Z по
2
3
0
2
ln
cos
i
i
i
jj
y
y
xarcxZ
где x=(0,98; -0,45; 0,176; 0,675; -0,03)
y=(22,5; 3; 40)
выражению:
Программа в MathCad:
Программа для вычисления компонентов вектора Z
Программист – студент группы 6131-11 Климова Е.М.
Дата разработки программы 29.10.13
Имя файла программы: Vektor_1.mcd

77
X
0.98
0.45
0.176
0.675
0.03
Y
22.5
3
40
Задаем индексы массивов, как дискретные переменные:
j ORIGIN last X( ) i ORIGIN last Y( )
p2
i
ln Y
i
Y
i
2
p2 0.162
Z
j
X
j
2
acos X
j
p2
Z
0.354
0.574
0.205
0.54
0.163
Вычислим выражение под знаком суммы:
Итак, p2-число (скаляр) и, следовательно, число компонентов
вектора Z определяется только индексом j.
Программа 2.7.3.4. Составить программу (см. условие задачи
2.7.3.3), используя понятие векторизации.
В этом способе индексы не используются. Векторизация в
MathCad позволяет выполнить одну или несколько операций с
каждым элементом массива.
Программа в MathCad:

78
X
0.98
0.45
0.176
0.675
0.03
Y
22.5
3
40
Вычислим выражение под знаком суммы, используя
P2
ln Y( )
Y
2
P2
0.019
0.134
8.505 10
3
Находим сумму элементов вектора Р2, используя
оператор вычисления суммы вектора, расположенный на
панельке Матрицы:
SP2 P2
SP2 0.162
Z
j
X
j
2
acos X
j
p2
Z
0.354
0.574
0.205
0.54
0.163
векторизацию:
Итак, SP2 –это скаляр. В результате получаем:
Программа 2.7.3.5. Вычислить значение функции f(x) в
зависимости от условия:

79
,5,0
,5,2
,52
)(
2
i
i
i
i
x
x
x
xf
если x < 0
если 0 ≤ xi < 1
если xi ≥ 1
где x=(5,2; -3; 0,7; -2).
X
5.2
3
0.7
2
i ORIGIN last X( )
f x( ) 2 x 5( ) x 0if
x22.5
0 x 1if
x 0.5( )( ) otherwise
Yif X
i
Y
4.7
1
2.01
1
Решить задачу, используя индексы. Записать заданное
выражение, как функцию пользователя, Для решения задачи
использовать оператор программирования Add line.
Программная реализация в MathCad:
Запишем заданное выражение как функцию пользователя,
используя оператор Add line:
Очевидно, что полученное решение будет представлено в
виде массива, содержащим столько же компонентов, сколько
имеет массив Х. Подставим в функцию пользователя значения
элементов массива Х:

80
Программа 2.7.3.6. Решить предыдущую задачу (2.7.3.5.),
X
5.2
3
0.7
2
i ORIGIN last X( )
f x( ) if x 0 2 x 5 if x 1 x 0.5 x
2
2.5
Y
i
f X
i
Y
4.7
1
2.01
1
x
5.2
3
0.7
2
f1 x( ) if x 0 2 x 5 if x 1 x 0.5 x
2
2.5
используя функцию if, записав заданное выражение как
функцию пользователя.
Программная реализация в MathCad:
Подставим в функцию пользователя значения массива x:
Программа 2.7.3.7. Решить задачу (см. условие Задачи 2.7.3.5.),
используя понятие векторизации, записав заданное выражение
как функцию пользователя. Для решения задачи использовать
функцию if.
Подставим в функцию пользователя значения массива x и
используем векторизацию:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
