我正在使用一个单元格数组以包含 1x2 网格位置向量的形式[row, col]
。我想检查此单元格数组中是否包含另一个网格位置。
不幸的是,我当前的代码导致错误,我不太明白为什么:
in_range = ismember( 1, ismember({[player.row, player.col]}, proximity(:,1)) );
其中player.row
和player.col
是整数,并且proximity
的第一列是前面提到的网格位置元胞数组
我收到的错误是:
??? Error using ==> cell.ismember at 28
Input must be cell arrays of strings.
不幸的是,我无法找到有关ismember()
以这种方式使用的任何信息,只能将单元格数组作为字符串或在每个单元格中使用单个整数而不是向量。
我考虑过使用num2str()
and进行转换str2num()
,但由于我必须在转换之间执行计算,并且由于迭代次数的原因,代码将被循环(10,000 次循环,每个循环 4 次转换),这种方法似乎令人望而却步。
在这里的任何帮助将不胜感激,谢谢
编辑:为什么会ismember()
返回此错误?它是否将元胞数组中的所有向量都视为字符串数组?
编辑:是否有更好/更有效的方法来确定 1 是否在返回的向量中
ismember( 1, ismember(...))
?