矩阵相乘的C代码实现

来源:互联网 发布:托洛茨基知乎 编辑:程序博客网 时间:2024/05/21 06:27

/********************************************************************************
功能:实现矩阵的相乘,进行矩阵相乘的两个矩阵必须符合矩阵相乘的法则(A矩阵的列数要与B矩阵的行数相等)

输入参数:aRows A矩阵的行数

                    aCols_bRows  A矩阵的列数(或B矩阵的行数)

                    bCols  B矩阵的行数

                    matrixA[]    A矩阵

                    matrixB[]   B矩阵

输出参数:matrixC[]  矩阵相乘得到的新矩阵
********************************************************************************/

void matrixMultiply(uint8_t aRows, uint8_t aCols_bRows, uint8_t bCols, int16_t matrixC[], int16_t matrixA[], int16_t matrixB[])

{
    uint8_t i, j, k;
    for (i = 0; i < aRows * bCols; i++)
    {
        matrixC[i] = 0.0;
    }
    for (i = 0; i < aRows; i++)
    {
        for (j = 0; j < aCols_bRows; j++)
        {
            for (k = 0;  k < bCols; k++)
            {
                matrixC[i * bCols + k] += matrixA[i * aCols_bRows + j] * matrixB[j * bCols + k];
            }
        }
    }

}


原创粉丝点击