三个矩阵相乘怎么算_两个矩阵的乘积怎么计算?两个矩阵需要符合什么条件才能有乘积( 二 )


for
(j
=
0;
j
<
line_1
*
column_line
+
column_line
*
columns_2;
j++)
scanf("%d",
ptr_memory
+
j);
/*输入这两个矩阵*/
calculate
(line_1,
column_line,
columns_2,
ptr_memory);/*计算并输出结果*/
}
else/*未申请到打印*/
printf("Not
Enough
Memory!
");
free(ptr_memory);/*释放申请的内存*/
}
return
0;
}
/**功能:计算并输出结果
参数:第一个矩阵的行数,列数(第二个矩阵的行数),第二个矩阵的列数,申请的内存的首地址
返回:无*/
void
calculate
(int
line_1,
int
column_line,
int
columns_2,
int
*ptr_memory)
{
int
i,
j,
k;
int
mid_result1,
mid_result2,
result;/*分别存储中间计算数据1,2,计算结果*/
for
(
i
=
0;
i
<
line_1;
i++)
{
for
(j
=
0;
j
<
line_1;
j++)
{
result
=
0;/*将结果初始化*/
for
(k
=
0;
k
<
column_line;
k++)
{
mid_result1
=
column_line
*
i
+
k;/*第一个乘数相对位置*/
mid_result2
=
line_1
*
column_line
+
columns_2
*
k
+
j;/*第二个乘数相对位置*/
result
+=
*(ptr_memory
+
mid_result1)
*
*(ptr_memory
+
mid_result2);
/**累计计算公式*/
}
if
(j
==
columns_2
-
1)/*如果到了换行的时候换行*/
printf("%d
",result);
else
printf("%d
",result);/*其他情况不换行*/
}
}
}
本题原题:
Input
The
first
line
of
input
is
the
number
of
all
the
test
cases
that
follow.
For
each
test
case,
there
are
three
positive
integer
m,
n,
p
(m,
n,
p
<=
100)
on
the
first
line,
meaning
that
A's
dimension
is
m
rows
by
n
columns
while
B's
is
n
rows
by
p
columns.
Then
comes
the
data
of
matrices
A
and
B.
Matrix
A
is
represented
by
m
lines
of
integers
ranging
in
[-1000,
1000],
with
each
line
containing
n
integers
separated
by
a
space.
A
line
is
corresponding
to
a
row
of
a
matrix.
The
data
format
for
matrix
B
is
much
the
same
except
for
its
potentially
different
dimensions.
Please
refer
to
the
section
Sample
Input.
Output
For
each
test
case,
print
the
product
of
A
multiplied
by
B
in
the
form
described
in
the
section
Input,
but
do
not
include
any
dimension
description.
Sample
Input
2
2
2
2
1
2
3
4
1
2
3
4
1
2
1
1
1
Sample
Output
7
10
15
22
0
Q4:线性代数中,两个矩阵相乘应该怎样计算


  1. 相乘的形式设为A*B,A的行对应B的列,对应元素分别相乘;相乘的结果行还是A的行、列还是B的列;A的列数必须等于B的行数 。

  2. 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵 。这一概念由19世纪英国数学家凯利首先提出 。

  3. 矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中 。在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵 。矩阵的运算是数值分析领域的重要问题 。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算 。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法 。关于矩阵相关理论的发展和应用,请参考矩阵理论 。在天体物理、量子力学等领域,也会出现无穷维的矩阵,是矩阵的一种推广 。


    推荐阅读