[求助]矩阵问题
请教如何把两个矩阵相乘,得出第三个矩阵比如一个2*3的矩阵和一个3*4的矩阵相乘得出一个2*4的矩阵
[ 1 0 2] [ 4 2 5 3] [ 22 2 5 7 ]
3 0 4 乘 6 4 1 8 = 48 6 15 17
9 0 0 2
可以提高一点效率,但代码会更烦。
#define L 3
#define M 3
#define N 3
main()
{
float a[M][L]={1,1,1,2,2,2,3,3,3},
b[L][N]={1,2,3,1,2,3,1,2,3},
c[M][N]={0.0};
float *A,*B,*C=c[0];
int i,j,k;
for(i=0;i<M;i++)
for(j=0;j<N;j++,C++)
for(A=a[i],B=&b[0][j],k=0;k<L;k++,B+=N,A++)
*C+=*A**B;
for(i=0;i<M;i++,printf("\n"))
for(j=0;j<N;j++)
printf("%7.2f",c[i][j]);
}