如何在c中创建和相乘矩阵

本文关键字:创建 | 更新日期: 2023-09-27 18:26:07

好吧,昨天在学校,我收到了一个c#任务,那就是创建一个程序来构建一个矩阵,并将该矩阵乘以另一个矩阵。到目前为止,我已经这样做了:

 List<List<double>> translacao = new List<List<double>>();
            translacao[0][0] = 0;
            translacao[0][1] = 0;
            translacao[0][2] = 4;
            translacao[1][0] = 0;
            translacao[1][1] = 1;
            translacao[1][2] = 6;
            translacao[2][0] = 0;
            translacao[2][1] = 0;
            translacao[2][2] = 8;

我尝试过使用像double[,]这样的普通数组,但我的问题总是一样的。从这里开始,我如何将这个矩阵乘以另一个矩阵??(我知道如何(在纸上)乘以矩阵,但c#中没有任何方法适合我吗?)我发现的唯一矩阵类只能乘以3x3矩阵。

如何在c中创建和相乘矩阵

我想说,你必须编写自己的函数,甚至可能根据你的函数的狡猾程度,为不同的大小编写一些重载。

我不太擅长矩阵数学,但这里有一个过程

这也不是c#:

matrix Multiply[][] (matrix a[][], matrix b[][])
{
    //check the sizes, i remeber its something that must be done but dont remember the specifics
    if (a.width != b.height)
        throw WrongSizeException;
    matrix result[][];
    //do the math:
    result[0][0] = a[0][0] * b[0][0]; //again, I don't remeber this stuff
    ...
    ...
    return result;
}

我希望这能让正确运转