【问题标题】:How do I create a multidimensional matrix (ArrayD) using ndarray?如何使用 ndarray 创建多维矩阵 (ArrayD)?
【发布时间】:2017-02-05 15:29:17
【问题描述】:

我想在 Rust 中创建一个多维矩阵(其乘积超过 1e6)。我找到了ndarray crate,但是documentation 没有说明如何使用似乎符合我需要的ArrayD 类型。

【问题讨论】:

    标签: multidimensional-array rust


    【解决方案1】:

    您可以将包含 N 个值和数组形状的 &[usize](或 Vec<usize>)传递给任何接受数组形状的构造函数,例如 Array::zeros。例如,下面的代码创建了一个Array,形状为4 * 7 * 6 * 5 * 2 * 10 * 9 * 3 * 8,有9个维度:

    //! ```cargo
    //! [dependencies]
    //! ndarray = "*"
    //! ```
    extern crate ndarray;
    use ndarray::ArrayD;
    
    fn main() {
        let mut array = ArrayD::zeros([4, 7, 6, 5, 2, 10, 9, 3, 8].as_ref());
        array[[1; 9].as_ref()] = 123;
    
        println!("{:?}", array[[0; 9].as_ref()]);
        println!("{:?}", array[[1; 9].as_ref()]);
    }
    

    输出:

    0
    123
    

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 2021-09-27
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多