Произведение матрицы размерности n×m на вектор размерности m можно легко вычислить, следуя простому алгоритму. Давайте рассмотрим, как это сделать на языке Паскаль.
Предположим, у вас есть матрица A, состоящая из n строк и m столбцов, и вектор B, состоящий из m элементов. Результатом умножения будет вектор C размерности n, где каждый элемент C[i] вычисляется как сумма произведений элементов i-й строки матрицы A и вектора B.
Вот пример кода на Паскале:
program MatrixVectorMultiplication;
const
n = 3; // количество строк в матрице
m = 2; // количество столбцов в матрице (и размерность вектора)
var
A: array[1..n, 1..m] of Integer; // матрица
B: array[1..m] of Integer; // вектор
C: array[1..n] of Integer; // результат
i, j: Integer;
begin
// Инициализация матрицы A
A[1, 1] := 1; A[1, 2] := 2;
A[2, 1] := 3; A[2, 2] := 4;
A[3, 1] := 5; A[3, 2] := 6;
// Инициализация вектора B
B[1] := 7;
B[2] := 8;
// Вычисление произведения матрицы на вектор
for i := 1 to n do
begin
C[i] := 0; // Обнуление элемента вектора C
for j := 1 to m do
begin
C[i] := C[i] + A[i, j] * B[j]; // Суммируем произведения
end;
end;
// Вывод результата
writeln('Результат произведения матрицы на вектор:');
for i := 1 to n do
begin
writeln('C[', i, '] = ', C[i]);
end;
end.
В этом коде:
- Мы сначала объявляем константы для размеров матрицы и вектора.
- Объявляем массивы для матрицы
A, вектораBи результатаC. - Инициализируем матрицу и вектор с некоторыми значениями.
- Затем, с помощью двух вложенных циклов, вычисляем произведение матрицы на вектор, сохраняя результаты в векторе
C. - В конце выводим элементы результирующего вектора.
Этот код даст вам представление о том, как можно реализовать умножение матрицы на вектор на Паскале. Удачи в ваших обучающих начинаниях!