上传者: 38574410
|
上传时间: 2022-04-02 00:24:00
|
文件大小: 1KB
|
文件类型: -
我发现“ismember”非常慢。 我尽可能避免使用它,但不幸的是,在某些情况下它是必要的。 在可能的情况下,我尝试尽可能使用“ ismembc”或“ builtin(“ _ ismemberoneoutput”,A,B)“(我强烈建议其他人也这样做!),但它们也不是最佳选择。 最近,我发现自己需要使用带有两个排序数组作为输入的ismember。 在分析代码后,我发现这个小函数慢得不可原谅。 没有理由对两个预先排序的数组应该有如此大的开销。
不管怎样,我花了一个下午来写这个愚蠢的函数。 它接受两个已排序的数组并返回一个数组(与第一个输入的大小相同)。
例子 : 例子: >>ismember_mex( [1 3 5], [1 2 3 4 6 7 8] ) 答案 =
1 1 0
它比普通的 ismember(或其替代品)快得多......(以下是在新的 matlab 中运行的,以避免