【发布时间】:2018-11-22 22:14:47
【问题描述】:
我正在尝试比较 2 个不同大小的数组并获取匹配对的列。
如果我这样做:
ismembernan = @(a,b) ismember(a,b) | (isnan(a) & any(isnan(b)));
a = [NaN 11 12 13 14 15; NaN 0 1 2 3 4; NaN 5 6 7 8 9];
b = [NaN 0 1 2 3 4; NaN 5 6 7 8 9]];
k = ismembernan(a,b);
col = all(k,2);
column = find(col)
在 MATLAB 2016b 中,我得到了预期的答案
列= 2 3
但在 MATLAB 2014a 中(我必须使用此版本)我收到以下错误:
使用 & 时出错
输入必须具有相同的大小。
@(a,b)ismember(a,b)|(isnan(a)&any(isnan(b))) 中的错误
也许解决方案是带有 if 语句的嵌套 for 循环,但我正在寻找更好的解决方案。
如何让 ismember 在 R2014a 中使用 nan 值?
【问题讨论】: