我正在尝试在Rust中访问纳尔代布拉矩阵的各个元素,但始终会出现错误。我没有在文档中找到任何示例来说明如何访问单个元素,就像使用多维数组一样。
这是我一直在尝试的方法:
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]);
| ^^^^^^^
我不确定如何解释此消息,或者我哪里出错了。
最佳答案
检查the documentation for Matrix::index
:
pub fn index<'a, I>(&'a self, index: I) -> I::Output
where
I: MatrixIndex<'a, N, R, C, S>,
如果我们查看implementers of
MatrixIndex
,我们会看到许多类型,包括usize
((usize, usize)
)的元组:println!("{:?}", b[(0, 1)]);
The Rust Programming Language chapter on data types进一步说明了元组。
关于rust - 如何在Rust中访问Nalgebra矩阵的各个元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40901735/