与混合数据类型比较单元一阳matlab的
我有两个单元阵列,其是混合的串/整数类型,例如:与混合数据类型比较单元一阳matlab的
a={'a';1;'b'} b={'b';1}
我需要对它们进行比较和找到的索引中所述的B中的元素的所以在这种情况下,它会是3和2(因为'b'在A的第三个位置)。
我会做find(strcmpi(b,a))
,但我将不得不将两个单元格数组转换为字符串数组,并且这不会非常有效(因为这两个数组都很长)。
我考虑过setxor
和ismember
但我还没有想出如何使用它们。
什么是这样的问题的'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