Я использую jama для расчета СВД. Он работает очень хорошо. Если я пройду квадратную матрицу. Например, матрица 2x2 или 3x3 и т. Д. Но когда я передаю что-то вроде этого 2x3 или 4x8, он дает ошибку . Я использовал все их примеры. У них есть другой конструктор для выполнения задания. Кроме того, мой второй вопрос, я Usded 3x3 матрицу, и это далоjava jama matrix problem
double[][] vals = {{1.,1.,0},{1.,0.,1.},{1.,3.,4.},{6.,4.,8.}};
Matrix A = new Matrix(vals);
Он произвел следующие ошибки:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
После того, что я священник научил использовать другой конструктор, который, как следовать
double[][] vals = {{1.,1.,0,4},{1.,0.,1.,2},{1.,3.,4.,8},{1.,3.,4.,8}};
Matrix A = new Matrix(vals,4,3);
Произведено следующее:
A =
1.0 1.0 0.0
1.0 0.0 1.0
1.0 3.0 4.0
6.0 4.0 8.0
A = U S V^T
U =
0.078 -0.115 -0.963
0.107 -0.281 0.260
0.402 0.886 -0.018
0.906 -0.351 0.060
Sigma =
11.861881 0.000000 0.000000
0.000000 2.028349 0.000000
0.000000 0.000000 1.087006
V =
0.507705 -0.795196 -0.331510
0.413798 0.562579 -0.715735
0.755650 0.226204 0.614675
rank = 3
condition number = 10.912437186202627
2-norm = 11.86188091889931
singular values =
11.861881 2.028349 1.087006
Работала для не квадратной матрицы. Но это привело к неправильным результатам для svd, поскольку V и S не имеют одинаковых строк = 4 (извините, если я не смог правильно проанализировать результат, поскольку я новичок в SVD). Есть идеи? Что мне делать?
Спасибо за решение. Я хочу запустить множественную регрессию с jama и иметь ту же проблему. может быть, мой вопрос странный, но я не могу редактировать класс SingularValueDecomposition. Это означает, что netbeans не позволяют мне редактировать jama-код. – MTT