Я конвертирую алгоритм из Matlab в C #.
В определенный момент в коде matlab есть новый вектор:
F = [D * z + v; m1 + rgb];
D
- матрица 36x36, z
и v
- векторы 36x1, m1
и rgb
- векторы 3x1. Это означает, что F
является вектором 39x1.
Теперь, когда я конвертировал этот код в C # с помощью MathNet, я обнаружил, что, по-видимому, нет функции добавления, и лучшее, на что я мог бы прийти - это код:
var F = Vector<float>.Build.Dense(39);
var firstElements = Vector<float>.Build.Dense(36);
var lastElements = Vector<float>.Build.Dense(3);
firstElements = D * z + v;
lastElements = m1 + rgb;
firstElements.CopySubVectorTo(F, 0, 0, firstElements.Count);
lastElements.CopySubVectorTo(F, 0, firstElements.Count, lastElements.Count);
Есть ли более быстрый способ создания вектора F
?