小儿垂钓 发表于 2006-5-16 20:39:10

请问如何用c语言实现两个矩阵相乘?谢谢!

请问如何用c语言实现两个矩阵相乘?谢谢!

比如A*B=C把矩阵A和矩阵B的乘积保存在C里!!

谢谢各位高手,请赐教!!

老顽童 发表于 2006-5-17 20:55:55

我不知道,不好意思

caterpilla 发表于 2006-5-31 14:01:54

笨方法,就是用三个二维数组,然后按照矩阵相乘规则进行循环运算。把A,B积存在C里

waterbluest 发表于 2006-6-6 09:16:39

建议:用一维数组来代替二维数组,这样可以把这个程序写一个小的函数,以后想什么时候用,贴过去就可以了。
//the matrix mul
//m is the row_num of a,n is the col_num of the a,k is the col_num of the b
//c is the reslut
void matrix_mul(double a[],double b[],int m,int n,int k,double c[])
{
        int i,j,l,u;
        //calculate the ans
        for (i=0;i<m;i++)
                for (j=0;j<k;j++)
                {
                        u=i*k+j;
                        c=0.0;
                        for (l=0;l<n;l++)
                                c=c+a*b;
                }
        return;
}
页: [1]
查看完整版本: 请问如何用c语言实现两个矩阵相乘?谢谢!