用C#编程实现2个矩阵的乘法运算

来源:百度知道 编辑:UC知道 时间:2024/06/16 14:18:18
编程实现2个矩阵的乘法运算,要求矩阵的行或列数在2~10之间,可以为方阵也可以行数与列数不同,运算前,要检验两矩阵是否可以进行乘法运算,即矩阵A的列数和矩阵B的行数是否相等。用C#做!! 谢谢~~~

用数组做应该不难
我看了一下上面的程序
他没if循环,for循环没满足你的条件 我按他的给你做下
public float[,] MultiAB(float[,] sourceA,float[,] sourceB,int Acol)
{
int arow = sourceA.Length/Acol;
int brow = Acol;
int bcol = sourceB.Length/brow;

float[,] outarray = new float[arow,bcol]; //实例化
if(arow==bcol )//判断阵A的列数和矩阵B的行数是否相等

for(int c=0;2=<c<=10;c++)
for(int r=0;2=<r<=10;r++)
for(int i=0;2=<i<=10;i++)
outarray[r,c] += sourceA[r,i]*sourceB[i,c]; //2个矩阵的乘法运算

return outarray;
}
这样就行了

public float[,] MultiAB(float[,] sourceA,float[,] sourceB,int Acol)
{
int arow = sourceA.Length/Acol;
int brow = Acol;
int bcol = sourceB.Length/brow;

float[,] outarray = new float[arow,bcol];
for(int c=0;c<bcol;c++)
for(int r=0;r<arow;r++)
for(int i=0;i<brow;i++)
outarray[r,c] += sourceA[r,i]*sourceB[i,c];