扫一扫,加我们为好友有惊喜哦~
-->

核心课程
开班动态
专题服务

您当前所在位置:首页 > 中心动态 >>
矩阵判断——常州电脑培训

分享一个矩阵的题目,软件班的学员注意学习哦!

矩阵相乘:已知N×M1矩阵AM1×M矩阵B1MM1N10),求矩阵C=A×B)。例如:

输入:NM1M=4  3  4

      A= 1   2    3             

3    4    5             提示:所谓矩阵相乘(如A×B=C),是指

4    5    6                Cij= (Aik×Bkj)(i=1N,j=1M1,k=1M)

5    –1  –2                  

           B= 1   6    4    2        例如:

              2   3    4    1             C11=A11×B11+A12×B21+A13×B31

            –1   5    7   –3              =1×1+2×2+3×(– 1

输出:C= 2   27   33   –5             =2

              6   55   63   5            C42= A41×B12+A42×B22+A43×B32

              8   69   78   –5              =5×6+–1)×3+–2)×5

         5   17   2    15               =17

[]该题主要考查矩阵的表示及其运算。矩阵A(N×M1)与矩阵B(M1×M)相乘得矩阵C(N×M),其解法如下:

       i=1~N,重复做

         j=1M,重复做

     (1)cij=0 (2)k=1M1,重复做Cij=Cij+Aik*Bkj (3)输出Cij

[程序]

program JiZheng;

var i,j,k,N,M1,M:integer;

A,B,C:array [1..10,1..10] of integer;

Begin

  write('N,M1,M=');readln(N,M1,M);

  if (N>=1)and(N<=10)and(M1>=1)and(M1<=10)and(M>=1)and(M<=10) then

begin {输入N×M1矩阵A}write('A=');

for i:=1 to N do for j:=1 to M1 do read(A[i,j]);readln;

    {输入M1×M矩阵B} write('B=');

for i:=1 to M1 do for j:=1 to M do read(B[i,j]);readln;

    write('C=');

      for i:=1 to N do

        begin for j:=1 to M do{计算Cij= (Aik×Bkj)}

          begin C[i,j]:=0; for k:=1 to M1 do C[i,j]:=C[i,j]+A[i,k]*B[k,j];

            write(C[i,j]:5); {输出矩阵Cij

          end;

          writeln;write(' ':2);

        end;

      writeln;

    end

  else writeln('Input N,M1,M error!');

end.

更多精彩,请关注东方博宜人人小站:http://zhan.renren.com/javaedu



返回顶部