如何使用 TCL 线性代数包来设置矩阵的元素
How can I use TCL linear algebra package for setting the elemnt of a matrix
我正在尝试使用 ::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 ] "
错误是:
can't read "mat": no such variable
while executing "lset mat $row $col $newvalue"
(procedure "::math::linearalgebra::setelem" line 4)
如果不使用 ::setelem,如何修改创建的矩阵的元素?
谢谢
根据 manual,您必须给出矩阵的 名称。因此你应该这样做:
set Mat [::math::linearalgebra::mkMatrix 8 8 0.0]
::math::linearalgebra::setelem Mat 0 1 1.0
我正在尝试使用 ::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 ] "
错误是:
can't read "mat": no such variable while executing "lset mat $row $col $newvalue" (procedure "::math::linearalgebra::setelem" line 4)
如果不使用 ::setelem,如何修改创建的矩阵的元素?
谢谢
根据 manual,您必须给出矩阵的 名称。因此你应该这样做:
set Mat [::math::linearalgebra::mkMatrix 8 8 0.0]
::math::linearalgebra::setelem Mat 0 1 1.0