Программы по численным методам решения задач линейной алгебры

Умножение матриц

Программа предназначена для умножения двух согласованных матриц, т.е. таких матриц, у которых число столбцов первой равно числу строк второй. При умножении матрицы А m x n на матрицу Вn x k получается матрица Сm x k:

· = ,

элементы cij которой вычисляются по формуле

cij = ai 1 b 1 j + ai 2 b 2 j + … + ain bnj, j = 1, 2, …, m,

т.е. для получения элемента cij, расположенного в i -й строке и j -м столбце матрицы С, надо элементы i -й строки матрицы А умножить на соответствующие элементы j -го столбца матрицы В и полученные произведения сложить.

П р о г р а м м а

Program UMN_MATRIX;

const nmax = 10;

var A,B,C: array [1..nmax,1..nmax] of Double;

i,j,k,p,m,n:integer;

s:double;

Begin

writeln('программа умножения матрицы А[n*m] на матрицу B[m*p]');

writeln;

write('введите число строк 1-й матрицы (А): n=');

readln(n);

write('введите число столбцов матрицы А: m=');

readln(m);

write('введите число столбцов 2-й матрицы (В): p=');

readln(p);

writeln('ввод матрицы А:');

for i:=1 to n do

for j:=1 to m do

Begin

write('введите A[',i,',',j,']=');

readln(A[i,j]);

end;

writeln('ввод матрицы B:');

for i:=1 to m do

for j:=1 to p do

Begin

write('введите B[',i,',',j,']=');

readln(B[i,j]);

end;

{вычисление матрицы С=АВ}

for i:=1 to n do

for j:=1 to p do

Begin

s:=0;

for k:=1 to m do

s:=s+A[i,k]*B[k,j];

C[i,j]:=s;

end;

writeln;

writeln(' Р Е З У Л Ь Т А Т');

for i:=1 to n do

Begin

for j:=1 to p do

write(C[i,j]:8:2);

writeln;

end;

readln;

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: