2

文字列/整数型が混在する2つのセル配列があります。

a={'a';1;'b'}
b={'b';1}

それらを比較して、B の要素の A のインデックスを見つける必要があります。したがって、この場合は 3 と 2 になります (「b」は A の 3 番目の場所にあるため)。

私はそうしますfind(strcmpi(b,a))が、最初に両方のセル配列を文字列配列に変換する必要があり、それはあまり効率的ではありません (両方の配列が非常に長いため)。

を検討setxorismemberましたが、これを使用する方法がわかりませんでした。

このような問題に対する「matlab」の方法は何ですか?

4

1 に答える 1

2

ループを使用するか、arrayfun を使用して一緒にラップします。

a={'a';1;'b'}
b={'b';1}
result = arrayfun(@(x) find(arrayfun(@(y) isequal(x,y),a),1,'first'),b)
于 2012-07-18T16:07:36.477 に答える