Я инициализирую матрицу 4x4 для единичной матрицы.Затем я инициализирую вектор 4x1 B случайными значениями.И я хочу, чтобы OpenCV решил систему Ax = B.
Поскольку A - это тождество, я ожидаю, что x = B.
Однако я этого не понимаю.Сначала я кодирую:
Mat A(Size(4,4), CV_64FC1);
// Identity matrix, by force
for(int i=0; i<4; i++) {
for (int j=0; j<4; j++) {
if(i=j=) A.at<float>(i,j) = 1;
else A.at<float>(i,j) = 0;
}
}
Mat B(Size(4, 1), CV_64FC1);
B.at<float>(0, 0) = 1;
B.at<float>(1, 0) = 2;
B.at<float>(2, 0) = 3;
B.at<float>(3, 0) = 4;
Mat sol(Size(4, 1), CV_64FC1);
solve(A, B, sol, DECOMP_LU);
Выходные данные выше - sol = <02313, 0, 0, 0>, а не <1,2,3,4>