如果我的矩阵X
只有一列,并且某些行中有一些负值。如何仅删除负值?
示例:
X=[-1; 2; 3; -4; 5]
应该成为:
X=[2; 3; 5]
另外,如何从
中删除值y=[1; 2; 3; 4; 5]
根据X
中的负值找到的位置?此操作后y
应为[2; 3; 5]
。
答案 0 :(得分:4)
从X
中删除负值:
您可以将X
重新分配给仅包含非负数的X
值的向量:
>> X = X(X>=0)
X =
2
3
5
或从X
删除负值:
>> X(X<0) = []
X =
2
3
5
根据y
中的负值索引从X
中删除值是类似的。要么重新分配:
>> y = y(X>=0)
y =
2
3
5
或删除:
>> y(X<0) = []
y =
2
3
5
如果要根据X
中的负值修改两个向量,请记住先对y
执行操作,或者为X<0
的位置存储逻辑向量。例如:
>> ind = X < 0;
>> X(ind) = []
X =
2
3
5
>> y(ind) = []
y =
2
3
5