gpt4 book ai didi

f# - F# 中的矩阵转置

转载 作者:行者123 更新时间:2023-12-02 09:31:15 25 4
gpt4 key购买 nike

我正在尝试修改这样的矩阵:

/ 1 2 3 \
\ 4 5 6 /

返回:

  / 1 4 \
| 2 5 |
\ 3 6 /

相反,它正在翻转我的矩阵的角落。这是我到目前为止的代码:

Let rec matrixadjust = function
| (_::_) : : as xss-> List.map List.head xss :: matrixadjust (List.map List.tail xss)
| _ ->[];;

最佳答案

我认为使用矩阵的最佳方式是使用 Array2D data structure .您可以从数组数组构建一个 Array2D,然后创建一个新的 Array2D 来完成您想要的:

let arrayOfArrays = [| [| 1; 2; 3 |]; [|4; 5; 6 |] |]
let array2d = Array2D.init 2 3 (fun row column -> arrayOfArrays.[row].[column])
let newArray = Array2D.init (array2d |> Array2D.length2) (array2d |> Array2D.length1) (fun r c -> array2d.[c,r])

关于f# - F# 中的矩阵转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32891307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com