与混合数据类型比较单元一阳matlab的

我有两个单元阵列,其是混合的串/整数类型,例如:与混合数据类型比较单元一阳matlab的

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

b={'b';1}

我需要对它们进行比较和找到的索引中所述的B中的元素的所以在这种情况下,它会是3和2(因为'b'在A的第三个位置)。

我会做find(strcmpi(b,a)),但我将不得不将两个单元格数组转换为字符串数组,并且这不会非常有效(因为这两个数组都很长)。

我考虑过setxorismember但我还没有想出如何使用它们。

什么是这样的问题的'matlab'方式?

回答:

使用一个循环,或者把它包起来使用arrayfun:

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

b={'b';1}

result = arrayfun(@(x) find(arrayfun(@(y) isequal(x,y),a),1,'first'),b)

以上是 与混合数据类型比较单元一阳matlab的 的全部内容, 来源链接: utcz.com/qa/262010.html

回到顶部