如何访问Rust中Nalgebra矩阵的各个元素



我正在尝试访问Rust中Nalgebra矩阵的各个元素,但请继续遇到错误。我还没有在文档中找到任何示例,这些示例也显示了如何访问单个元素 - 就像我在某些多维数组中一样。

这是我一直在尝试的:

use nalgebra::DMatrix; // 0.21.0
fn main() {
    let b = DMatrix::<f64>::zeros(4, 4);
    println!("{:?}", b[0][1]);
}

当我编译此代码时,我会得到

error[E0608]: cannot index into a value of type `f64`
 --> src/main.rs:5:22
  |
5 |     println!("{:?}", b[0][1]);
  |                      ^^^^^^^

我不确定如何解释此消息,或者我出了什么问题。

检查Matrix::index的文档:

pub fn index<'a, I>(&'a self, index: I) -> I::Output
where
    I: MatrixIndex<'a, N, R, C, S>, 

如果我们查看MatrixIndex的实现者,我们会看到许多类型,包括usize(usize, usize))的A Tuple :

println!("{:?}", b[(0, 1)]);

《生锈的编程语言》 有关数据类型的章节进一步解释了元组。

相关内容

  • 没有找到相关文章

最新更新