飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5418|回复: 3

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

[复制链接]
  • TA的每日心情

    2022-1-22 22:38
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2006-5-16 20:39:10 | 显示全部楼层 |阅读模式
    请问如何用c语言实现两个矩阵相乘?谢谢!

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

    谢谢各位高手,请赐教!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-17 20:55:55 | 显示全部楼层
    我不知道,不好意思
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-5-31 14:01:54 | 显示全部楼层
    笨方法,就是用三个二维数组,然后按照矩阵相乘规则进行循环运算。把A,B积存在C里
    PYG19周年生日快乐!

    该用户从未签到

    发表于 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[i*n+l]*b[l*k+j];
                    }
            return;
    }
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表