Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在xtensor中使用xt::where时遇到问题_C++_Numpy_Xtensor - Fatal编程技术网

C++ 在xtensor中使用xt::where时遇到问题

C++ 在xtensor中使用xt::where时遇到问题,c++,numpy,xtensor,C++,Numpy,Xtensor,我试图在xarray中找到某些数组值的索引值。我有一个叫做latticefilled的xarray,包含数字1到n,我想要的是 auto x2 = xt::where(lattice == i) 获取将用于距离函数的lattice中元素i的索引值,但我得到的消息是=与操作数不匹配。当我使用>时,这个问题不会发生,所以我只是想知道区别是什么 我在python中使用了np.where(lattice==I),我正在尝试将其翻译过来 您必须使用xt::equal(a,b)而不是a==b。事实上,这与

我试图在xarray中找到某些数组值的索引值。我有一个叫做
lattice
filled的xarray,包含数字1到n,我想要的是

auto x2 = xt::where(lattice == i)
获取将用于距离函数的
lattice
中元素
i
的索引值,但我得到的消息是
=
与操作数不匹配。当我使用
>
时,这个问题不会发生,所以我只是想知道区别是什么


我在python中使用了
np.where(lattice==I)
,我正在尝试将其翻译过来

您必须使用
xt::equal(a,b)
而不是
a==b
。事实上,这与例如
a>b
不同,后者与
xt::greater(a,b)
完全相同

还请注意,可以使用
xt::from_index(…)
将索引列表转换为矩阵,请参阅。考虑下面的例子:

#包括
#包括
int main()
{
xt::xtensor a=xt::arange(5*5)。重塑({5,5});
尺寸i=4;
xt::xtensor idx=xt::from_索引(xt::where(xt::equal(a,i));
标准::cout