用C#编程实现2个矩阵的乘法运算
来源:百度知道 编辑:UC知道 时间:2024/06/16 14:18:18
用数组做应该不难
我看了一下上面的程序
他没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];