JAMA - Как объединить векторы в единую матрицу

У меня есть в общей сложности 4 вектора-столбца, которые выглядят так:

m1:       m2:        m3:      m4:

0.26      -0.25      0.04     0.43
-0.20     -0.12      0.50     0.47
-0.27      0.79     -0.37     0.29
-0.06     -0.45     -0.71     0.44
-0.23      0.13      0.31     0.52
 0.87      0.29      0.02     0.23

Я хочу объединить эти 4 вектора-столбца и поместить их в одну матрицу 6x4. Как мне добиться этого в JAMA? Все четыре матрицы-столбца относятся к матричному типу.


person Krithika Raghavendran    schedule 23.11.2016    source источник


Ответы (1)


Сам придумал ответ. По сути, мы используем вариант метода setMatrix() со следующей сигнатурой:

setMatrix(int[] r, int j0, int j1, Matrix X)
where,
r = array of row indices
j0 = initial column index
j1 = final column index
X = matrix you want to insert i.e. m1/m2/m3/m4 in my case

Чтобы установить m1 в первый столбец моей матрицы (скажем) meu, я могу закодировать его следующим образом:

int[] r = {0, 1, 2, 3, 4, 5) // since each of m1, m2, m3 and m4 have 6 rows
meu.setMatrix(r, 0, 0, m1); //sets submatrix m1 to 1st column (hence j0=j1=0)

Чтобы установить m2 во втором столбце моего меню, я делаю:

meu.setMatrix(r, 1, 1, m2); //sets submatrix m2 to 2nd column

....и в остальном тоже.

person Krithika Raghavendran    schedule 24.11.2016