我有一个29736 x 6的表,称为table_fault_test_data。它有6列,分别命名为wind_direction,wind_speed,air_temperature,air_pressure,density_hubheight和Fault_Condition。我要做的是根据“ Fault_Condition”(最后一个表的列中的值)来标记数据,具体取决于其他列中的值。
我想进行以下检查(例如)
对此有任何帮助 高度赞赏。非常感谢!
编辑: 进一步说明:我有一个29736 x 6的表,名为table_fault_test_data。我想根据以下条件将值添加到表的第6列:-
for i = 1:29736 % Iterating over the whole table row by row
if(1st column value <x | 1st column value > y)
% Add 0 to the Corresponding element of 6 th column i.e. table_fault_test_data(i,6)
elseif (2nd column value <x | 2nd column value > y)
% Add 0 to the Corresponding element of 6 th column i.e. table_fault_test_data(i,6)
elseif ... do this for other cases as well
else
% Add 1 to the Corresponding element of 6 th column i.e. table_fault_test_data(i,6)
这是我要求的本质。我希望这有助于更好地理解这个问题。
答案 0 :(得分:2)
您可以使用逻辑索引,表也支持逻辑索引(如果可能,应避免for循环)。例如,假设您要实现第一个条件,并且还假设x和y已知;同样,让我们假设您的表名为 t
logicalIndecesFirstCondition = t{:,1} < x | t{:,2} >y
,然后您可以使用逻辑索引引用验证此条件的行(请参考logical indexing
例如:
t{logicalIndecesFirstCondition , 6} = t{logicalIndecesFirstCondition , 6} + 1.0;
对于逻辑条件为真的行,这将在第六列添加1.0。