在Matlab中从数组中选择已检查的项目?

时间:2012-03-15 12:16:23

标签: matlab

我有两个数组。一个用于数据,一个包含1,每个项目我想从一个数组中选择,0用于我想要忽略的每个项目。

data = [1 2 3 4 5];
list = [1 0 1 0 1];

是否有快速的单行方式从数据数组中获取已检查的元素(1,3和5)而不执行以下操作:

newdata = [];
for i=1:numel(data)
    if list(i) == 1
        newdata(end+1) = data(i);
    end
end        

1 个答案:

答案 0 :(得分:4)

您可以直接使用它:

data(list == 1)

data(logical(list))