如何在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#:
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;
}
我希望这能让正确运转