c语言矩阵相乘(关于c语言矩阵相乘的简单科普)

2023-04-03 02:16:48

有关c语言矩阵相乘,有许多人不了解,那么下面来看看小瑰对c语言矩阵相乘的相关介绍。

c语言矩阵相乘

1、C语言实现矩阵相乘问题描述:编写程序,可以实现m*n矩阵和n*p矩阵相乘。

2、m,n,p均小于10,矩阵元素为整数。

3、分析:首先我们可以根据题意写出函数头。

4、可以定为voidMatrixMutiply(intm,intn,intp,longlMatrix1[MAX][MAX],longlMatrix2[MAX][MAX],longlMatrixResult[MAX][MAX]),其中lMatrix1和lMatrix2分别是输入的m*n矩阵和n*p矩阵,lMatrixResult是输出的m*p矩阵。

5、因为m,n和p都是未知量,要进行处理的矩阵大小是变量。

6、但我们可以定义比较大的二维数组,只使用其中的部分数组元素。

7、矩阵相乘的算法比较简单,输入一个m*n矩阵和一个n*p矩阵,结果必然是m*p矩阵,有m*p个元素,每个元素都需要计算,可以使用m*p嵌套循环进行计算。

8、根据矩阵乘法公式:可以用循环直接套用上面的公式计算每个元素。

9、嵌套循环内部进行累加前,一定要注意对累加变量进行清零。

10、数据要求问题中的常量:#defineMAX10/*矩阵最大行数和列数*/问题的输入:intm,n,p;/*相乘的两个矩阵的行列数*/longlMatrix1[MAX][MAX],lMatrix2[MAX][MAX];/*相乘的两个矩阵*/问题的输出:longlMatrixResult[MAX][MAX];/*矩阵相乘后得到的矩阵*/初始算法1.输入两个矩阵的的行列数m,n,p;2.输入第一个矩阵的每个元素;3.输入第二个矩阵的每个元素;4.调用函数进行乘法运算,结果放在lMatrixResult中;5.打印输出结果矩阵。

11、算法细化算法的步骤4计算两个矩阵的乘法算法如下:4.1定义循环变量i,j,k;4.2嵌套循环计算结果矩阵(m*p)的每个元素。

12、程序代码如下:#defineMAX10voidMatrixMutiply(intm,intn,intp,longlMatrix1[MAX][MAX],longlMatrix2[MAX][MAX],longlMatrixResult[MAX][MAX]){inti,j,k;longlSum;/*嵌套循环计算结果矩阵(m*p)的每个元素*/for(i=0;i

本文到此分享完毕,希望对大家有所帮助。