Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
F# 如何转换矩阵?_F#_F# 3.0 - Fatal编程技术网

F# 如何转换矩阵?

F# 如何转换矩阵?,f#,f#-3.0,F#,F# 3.0,我是新来的 我想转置一个矩阵,我可以像在任何其他语言中一样使用循环,但我想不使用外循环 我的矩阵声明: let BuildEmptyBord:BordCell[][]=[|for i in 1..3->[|for i in 1..3->BordCell.Empty|]|] 因此,请帮助对于作为锯齿阵列的矩阵,您可以使用array.init函数,然后使用交换的维度重新创建矩阵,如下所示: let transpose (matrix:_ [][]) = if matrix.L

我是新来的

我想转置一个矩阵,我可以像在任何其他语言中一样使用循环,但我想不使用外循环

我的矩阵声明:

let BuildEmptyBord:BordCell[][]=[|for i in 1..3->[|for i in 1..3->BordCell.Empty|]|] 

因此,请帮助

对于作为锯齿阵列的矩阵,您可以使用
array.init
函数,然后使用交换的维度重新创建矩阵,如下所示:

let transpose (matrix:_ [][]) =
    if matrix.Length = 0 then failwith "Invalid matrix"  
    Array.init matrix.[0].Length (fun i -> 
        Array.init matrix.Length (fun j -> 
            matrix.[j].[i]))

可能重复,但这是列表矩阵,我的矩阵是数组矩阵虽然这个代码示例可能会回答这个问题,但最好对您的答案进行一些必要的解释。现在看来,这个答案对未来的读者几乎没有任何价值。