数据看起来更像是这样:
T = struct('Direction',
{[1,1,1,1],[1,1,2,1],[2,2,2,2,2],
[2,2,2,2,1,2], [2,2,2,2,2],[3,1,4,5]},
'Trial',
{'correct','incorrect','incorrect','correct','correct','incorrect'});
这只是一个例子,我还有其他领域
T = T(arrayfun(@(x) all(x.Direction == 2), T));
我已经有上面的代码可以正常工作,但它只给我[2,2,2,2,2]
并且它没有给我[2,2,2,2,1,2]
的单元格,因为它也有1.
我尝试使用<= 2
,但它也包含[1,1,1,1],[1,1,2,1]
。有没有办法做到这一点?我想得到两件事:
ALL 2 OR ALL 1
的单元格,允许最多一个元素
那是不同的,所以我可以得到[2,2,2,2,2],[2,2,2,2,1,2]
不像我的代码只提供[2,2,2,2,2]
我非常感谢你的帮助。
谢谢
答案 0 :(得分:0)
您可以将条件更改为
sum( x.Direction == 2 ) + 1 >= numel( x.Direction )
即使其中一个元素为true
1