我有一个组织成结构的数据集。我有大量传感器,每个传感器都有四个读数a,d因此结构D包含D.sensorID、D.a、D.b、D.c和D.d。我正在寻找读数分布中的异常值。我已经绘制了数据并选择了限制并编写了一个脚本,该脚本可以识别具有超出这些限制的读数的传感器 ID,并将它们保存到一个数组中:
aMax = 5;
aHighIndices = find(D.a>aMax);
aMin = 0;
aLowIndices = find(D.a<aMin);
aHighLength = size(aHighIndices);
for i = 1:aHighLength
A_hi(i) = D.sensorID(aHighIndices(i));
end
这是重复的:a_Hi, a_Low, b_Hi, 等等...然后我将结果拼凑在一起:
outliers = [A_hi; A_low; B_low; B_hi; C_low; C_hi; D_low; D_hi];
有没有更简洁的方法来做到这一点?