Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c语言中创建和乘法矩阵#_C#_Matrix - Fatal编程技术网

C# 如何在c语言中创建和乘法矩阵#

C# 如何在c语言中创建和乘法矩阵#,c#,matrix,C#,Matrix,好的,昨天在学校,我收到了一个c#的任务,那就是创建一个程序来构建一个矩阵,然后用另一个矩阵乘以这个矩阵。到目前为止,我已经做到了: List<List<double>> translacao = new List<List<double>>(); translacao[0][0] = 0; translacao[0][1] = 0; translacao[0][2] =

好的,昨天在学校,我收到了一个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;
List translacao=新列表();
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#库并使用它”。更可能的情况是,你的家庭作业任务是“用你学过的算法自己实现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;

}