F# 中的数组连接

array concatenation in F#

是否有任何类似 Matlab 的 horzcat() and vertcat() functions in F#? Because what I'm doing now seems asinine. There is a related question here 但它看起来很过时。

    let arr = Array.init 5 (fun i -> 1.)
    let xMat = DenseMatrix.init l 2 (fun r c -> if c = 0 then 1. else arr.[r])

有一个 Array.concat 但它似乎只能垂直工作。

据我所知,F# arrays 没有内置函数来执行此操作,但在您的代码中,您最终使用的是 矩阵 来自 Math.NET Numerics 和 Math.NET 具有垂直和水平附加矩阵的函数:

let m1 = DenseMatrix.init 5 1 (fun _ _ -> 1.)
let m2 = DenseMatrix.init 5 1 (fun _ _ -> 2.)

DenseMatrix.append [m1; m2] // Append matrices horizontally
DenseMatrix.stack [m1; m2]  // Append matrices vertically