如果您查看ismember
代码(类型open ismember
),您会发现它基本上
- 检查数组是否已排序(通过调用
issorted
);
- 如果没有,则对数组进行排序;
- 然后它应用二进制搜索。
醇>
所以你可以直接使用ismember
。
示例:
>> strings = {'a', 'aa', 'be', 'day', 'yes'};
>> [tf, loc ] = ismember('day', strings);
>> loc
loc =
4
或者修改ismember
(以其他名称保存)以绕过第1步,因为您已经知道您的数组已经过排序。