セル配列を使用して、フォームにグリッド位置の 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()
このエラーを返すのですか? セル配列内のすべてのベクトルを文字列配列として扱いますか?
EDIT:1が返されたベクトルにあるかどうかを判断するより良い/より効率的な方法はありますか
ismember( 1, ismember(...))
?