好的,所以昨天在学校我被提出了一个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矩阵。
答案 0 :(得分:0)
我会说你必须编写自己的功能,甚至根据你的功能是多么狡猾来为不同大小的一些重载。
我不太擅长矩阵数学,但这里有一个过程
这也不是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;
}
我希望这能使得正确的齿轮转动