在Matlab中有以下代码:
r= zeros(10,10);
r(:) = x(z);假设"x“是一维数组,而"z”是二维数组,那么函数r(:) = x(z);是做什么的,我如何在Java语言中实现类似的东西?
发布于 2011-12-07 00:17:59
首先,x( z )获取二维数组z中的每个元素,并将其用作从x获取数据的索引。
例如,x=1 2z=1 1;1 2会给出结果x(z) =1 1;1 2,因为x(z)实际上是x(z(1,1)) x(z(1,2));x(z(2,1)) x(z(2,2))。因此,您必须注意z中的值不能超过x的大小,否则会使索引越界。
r(:) = x(z)基本上等同于r= x(z)。
要在java中实现这一点,你需要对z中的元素进行某种形式的for循环。在这个循环中,你可以通过将当前索引(i,j)赋给x(z(i,j))中的值来构造一个2d数组。
希望这能有所帮助!
发布于 2011-12-07 01:14:16
因此,java代码如下所示:
for (int i = 0; i < z.length; i++) {
for (int j = 0; j < z[0].length; j++) {
y[i][j] = x[z[i][j]];
}
}https://stackoverflow.com/questions/8402569
复制相似问题