如何使用TCL线性代数包来设置矩阵的元素

时间:2019-03-10 19:48:23

标签: tcl linear-algebra

我正在尝试使用:: 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 个答案:

答案 0 :(得分:1)

对于manual,您必须给出矩阵的名称。因此,您应该这样做:

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