Как я могу использовать пакет линейной алгебры TCL для установки элемента матрицы - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь использовать пакет :: math :: linearalgebra ::, чтобы выполнить несколько простых вычислений для собственного значения для тестирования.Следующий код работает и дает желаемый результат:

package require math
package require math::linearalgebra    
set Mat [::math::linearalgebra::mkMatrix 8 8 0.0]
puts "a single row is: [::math::linearalgebra::getrow $Mat 0 ] "

Однако, когда я пытаюсь изменить элемент матрицы Mat, я получаю ошибку:

set Mat [::math::linearalgebra::mkMatrix 8 8 0.0]
 ::math::linearalgebra::setelem $Mat 0 1 1.0]
puts "a single row is: [::math::linearalgebra::getrow $Mat 0 ] "

Ошибка:

не может прочитать "mat": такой переменной нет при выполнении "lset mat $ row $ col $ newvalue" (процедура ":: math :: linearalgebra :: setelem" строка 4)

Как изменить элементы созданной матрицы, если не с помощью :: setelem?

Спасибо

1 Ответ

1 голос
/ 10 марта 2019

В соответствии с руководством необходимо указать имя матрицы.Таким образом, вы должны сделать:

set Mat [::math::linearalgebra::mkMatrix 8 8 0.0]
::math::linearalgebra::setelem Mat 0 1 1.0
...