Matlab数据预处理:删去某项为0的数据组
对于两个等长的列向量X和Y,
X = [0;0;0;1;3;2;4;3;1;0;3;2;5;0];
Y = [1;2;3;4;5;6;7;8;9;0;11;12;13;14];
我们希望保留不为0的X,和与之对应的Y中的行,可以先判断X中元素是否为0,然后将得到的布尔量结果,与Y做数字乘法,再用all筛选:
B = (X>0);
Y1 = B.*Y;
Y1(all(Y1==0,2),:) = [];
这样的到的筛选后的结果Y1:
Y1 =
4
5
6
7
8
9
11
12
13