1

我不太清楚如何用值初始化一个 101 x 101 f32 数组,例如 sin ((xindex-50)*(xindex-50) + (yindex-50*yindex-50))。

我可以

array x(seq(-50,50), 101);   // get one of the indices
array pic(101, 101);         // result

但是在这里我停下来,因为我看不到如何做指数的交叉产品。

pic(seq(-50,50), seq(-50,50)) = ....  // what do I put on the RHS that will work?

我敢肯定,当我明天醒来时,一切都会很明显,但我现在看不太清楚。(在卤化物中很容易......)

4

1 回答 1

1

上述问题可以通过使用iota()来解决。例如,对于 50 x 50 阵列,

array rows = iota(dim4(50), dim4(1, 50));  // y values
array cols = iota(dim4(1,50), dim4(50));   // x values
array pic = sin (rows*rows + cols*cols);   // function of x and y per element
于 2016-01-02T02:05:55.877 回答