代码之家  ›  专栏  ›  技术社区  ›  Tim Wescott

无法在ndarray::ViewRepr上计算

  •  0
  • Tim Wescott  · 技术社区  · 5 年前

    铁锈游乐场清单 here

    我用的是ndarray,我试着用数组的部分来做数学运算。下面是一个生成我看到的错误的示例:

    
    use ndarray::{Array1, Array2};
    
    fn main() {
        let mut bob = Array2::<i16>::eye(3);
        let ralph = Array1::<i16>::ones([3]);
        for mut b in bob.outer_iter() {
            b += b + ralph;
        }
        println!("{}", bob);
    }
    

    这就产生了错误 error[E0369]: cannot add `ArrayBase<OwnedRepr<i16>, Dim<[usize; 1]>>` to `ArrayBase<ViewRepr<&i16>, Dim<[usize; 1]>>`

    bob 具有 ralph 添加到每行。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Hadus    5 年前

    bob.outer_iter() bob.outer_iter_mut() .

    我已经说过了,我不认为那是你想要的。有一种更简单的方法可以相加 ndarrays :

    use ndarray::{Array1, Array2};
    
    fn main() {
        let mut bob = Array2::<i16>::eye(3);
        let ralph = Array1::<i16>::ones([3]);
        let sue = bob + ralph;
        println!("{}", sue);
    }
    
    推荐文章