Ошибка при назначении значения для матричного элемента с помощью уравнения
У меня есть несколько простых строк кода в Java с использованием уравнения ejml следующим образом:
eq.process("T = zeros(2,3)");
eq.process("T(1,1)=10");
eq.process("T(1,0)=1");
eq.process("T(1,2)=8");
Последняя строка не работает, выдает ошибку "Подматрица выходит за границы. Нижний экстент". Очевидно, матрица T имеет размер 2x3, а индексы начинаются с 0, поэтому T(1,2) должно быть допустимым. Я также попытался преобразовать в необработанную матрицу следующим образом:
DenseMatrix64F m=eq.lookupMatrix("T");
m.set(1, 2, 7);
И это работает. Это ошибка в этой библиотеке?
1 ответ
Это ошибка. Внутренне проверка границ выполнялась col,row вместо row,col.
Последний код GitHub имеет исправление. Вы также можете проверить следующее SHA.
ec2dffbabc38c1e86f1ef58da2553cec9287b0f3
Задавать вопросы о Stackru - это хорошо, так как все больше людей видят это. Однако, пожалуйста, сообщайте об ошибках и запросах функций, используя github и доску объявлений. Они сразу отправят мне сообщение, но кто знает, когда я увижу его здесь.