C# MathNet.Numerics.LinearAlgebra:如何将一个向量快速附加到另一个向量?

C# MathNet.Numerics.LinearAlgebra:如何将一个向量快速附加到另一个向量?,c#,matlab,C#,Matlab,我正在将一个算法从Matlab转换为C# 在某一点上,matlab代码中有一个新向量: F = [D * z + v; m1 + rgb]; D是36x36矩阵,z和v是36x1向量,m1和rgb是3x1向量。这意味着F是一个39x1向量 现在,当使用MathNet将这段代码转换为C#时,我发现,显然,没有附加函数,我能得到的最好结果是这段代码: var F=Vector.Build.densite(39); var firstElements=Vector.Build.densite(36)

我正在将一个算法从Matlab转换为C#

在某一点上,matlab代码中有一个新向量:

F = [D * z + v; m1 + rgb];
D
是36x36矩阵,
z
v
是36x1向量,
m1
rgb
是3x1向量。这意味着
F
是一个39x1向量

现在,当使用MathNet将这段代码转换为C#时,我发现,显然,没有附加函数,我能得到的最好结果是这段代码:

var F=Vector.Build.densite(39);
var firstElements=Vector.Build.densite(36);
var lastElements=Vector.Build.densite(3);
第一元素=D*z+v;
lastElements=m1+rgb;
CopySubVectorTo(F,0,0,firstElements.Count);
CopySubVectorTo(F,0,firstElements.Count,lastElements.Count);

有没有一种更快的方法来创建
F
向量?

不是特别漂亮,但这可以:

F = firstElements.ToColumnMatrix().Stack(lastElements.ToColumnMatrix()).Column(0);

添加一个函数来堆叠2个向量可能是一个很好的功能。

虽然有一个添加方法。@TaW是的,但是,如果我没有弄错的话,
add
用于对向量元素的值求和(或对单个向量的元素求标量),而不是向预先存在的向量添加新元素。啊,对了,对不起。。