ВУЗ:
Составители:
Рубрика:
19
C
[]
i, j : =
∑
j = 1
n
A
[]
i, j * B
[]
j , где i = 1, … n.
НАЧАЛО
КОНЕЦ
C[ i, 1]:= S;
Печать
Ввод n ,m
i:=1, n
j:=1, m
Ввод
матрицы A
Печать
матрицы C
Ввод
вектора B
S:=0;
S:=S+A[ i, j]*B[ j];
НАЧАЛО
КОНЕЦ
C[ 1, j]:= S;
Печать
Ввод n ,m
j:=1, m
i:=1, n
Ввод
вектора B
Печать
матрицы C
Ввод
матрицы A
S:=0;
S:=S+ B[ i] *A[ i, j];
а) б)
Рисунок 12. Блок-схема примера №10: а) – умножение матрицы на
вектор, б) – умножение вектора на матрицу.
Следует заметить, что при умножении вектора на матрицу нужно
вектор рассматривать как вектор-строку В.
C
[]
i, j : =
∑
j = 1
n
B
[]
i * A
[]
i, j , где j = 1, … m.
20
Пример 11 Сложение матриц
Требуется сложить две матрицы А и В.
Матрицы можно складывать только с одинаковым
числом строк и столбцов. Для реализации
программы воспользуйтесь матрицей С, в которой
и будет записан результат выполнения
программы.
C
[]
i, j : = A
[]
i, j + B
[]
i, j ,
где i = 1, … n; j = 1, … m.
Пример 12 Умножение матриц
Требуется перемножить элементы двух
матриц А размером n×m и В размером m×l. В
результате получится матрица С размером n×l.
Произведение двух матриц А*В
определено, когда число столбцов (m) матрицы А
равно числу строк (m) матрицы В. Итак, в
результате пер
емножения получается матрица С,
у которой столько же строк (n), сколько их в
матрице А и столько же столбцов (l), сколько их в
матрице В.
Ошибка!,
где i = 1, … n; j = 1, … l; k = 1, … m.
По определению элемент С[ i, j ] равен скалярному произведению
i-той строки матрицы А на j-тый столбец матр
ицы В.
A =
⎝
⎜
⎜
⎛
⎠
⎟
⎟
⎞
2345
92–34
–1 –5 3 11
B =
⎝
⎜
⎜
⎛
⎠
⎟
⎟
⎞
32
4–1
1–3
25
C =
⎝
⎜
⎜
⎛
⎠
⎟
⎟
⎞
32 14
40 45
249
НАЧАЛО
КОНЕЦ
C[ i, j]:=A[ i, j]+ B[ i, j]
;
Печать
Ввод n ,m
i:=1, n
j:=1, m
Ввод
матрицы A
Печать
матрицы C
Ввод
матрицы B
Р
исунок 13. Блок-
схема примера №11
ABC = A*B
число строк nmn
число столбцов ml l
n Пример 11 Сложение матриц C[ i, j ] := ∑ A[ i, j ] * B[ j ], где i = 1, n. j=1 Требуется сложить две матрицы А и В. НАЧАЛО Матрицы можно складывать только с одинаковым а) НАЧАЛО б) НАЧАЛО Печать числом строк и столбцов. Для реализации Ввод n ,m программы воспользуйтесь матрицей С, в которой Печать Печать Ввод и будет записан результат выполнения Ввод n ,m Ввод n ,m матрицы A программы. Ввод Ввод Ввод C[ i, j ] : = A[ i, j ] + B[ i, j ], матрицы A вектора B матрицы B где i = 1, n; j = 1, m. Ввод Ввод i:=1, n вектора B матрицы A Пример 12 Умножение матриц i:=1, n j:=1, m j:=1, m Требуется перемножить элементы двух матриц А размером n×m и В размером m×l. В C[ i, j]:=A[ i, j]+ B[ i, j]; результате получится матрица С размером n×l. S:=0; S:=0; Произведение двух матриц А*В определено, когда число столбцов (m) матрицы А j:=1, m i:=1, n Печать равно числу строк (m) матрицы В. Итак, в матрицы C результате перемножения получается матрица С, у которой столько же строк (n), сколько их в S:=S+A[ i, j]*B[ j]; S:=S+ B[ i] *A[ i, j]; КОНЕЦ матрице А и столько же столбцов (l), сколько их в матрице В. C[ i, 1]:= S; C[ 1, j]:= S; Рисунок 13. Блок- схема примера №11 A B C = A*B Печать Печать число строк n m n матрицы C матрицы C Ошибка!, число столбцов m l l где i = 1, n; j = 1, l; k = 1, m. КОНЕЦ КОНЕЦ По определению элемент С[ i, j ] равен скалярному произведению Рисунок 12. Блок-схема примера №10: а) умножение матрицы на i-той строки матрицы А на j-тый столбец матрицы В. вектор, б) умножение вектора на матрицу. 3 2 ⎛ 2 3 4 5 ⎞ ⎛4 ⎞ ⎛ 32 14 ⎞ Следует заметить, что при умножении вектора на матрицу нужно вектор рассматривать как вектор-строку В. A = ⎜ 9 2 3 4 ⎟ B= ⎜ 1 ⎟ C = ⎜ 40 45 ⎟ ⎜ ⎝ 1 5 3 11 ⎟ ⎠ ⎜1 3 ⎟ ⎜ ⎝ 2 49 ⎠ ⎟ n ⎝2 5 ⎠ C[ i, j ] := ∑ B[ i ] * A[ i, j ], где j = 1, m. j=1 19 20
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »