Arrays 删除矩阵中的确定行
我有这样一个数组,但有更多行:Arrays 删除矩阵中的确定行,arrays,matlab,matrix,Arrays,Matlab,Matrix,我有这样一个数组,但有更多行: 104,206 99,557 96,667 1 33 1 120,993 0 104,708 99,189 96,641 6 14 1 123,989 65536 107,099 102,732 98,641 0 46 1 118,899 131072 104,985 101,174 98,251 5 30 2 118,445 196608
104,206 99,557 96,667 1 33 1 120,993 0
104,708 99,189 96,641 6 14 1 123,989 65536
107,099 102,732 98,641 0 46 1 118,899 131072
104,985 101,174 98,251 5 30 2 118,445 196608
108,86 103,355 103,494 0 21 1 118,423 262144
我需要一个循环,当第4列是0时,它会删除所有行
我需要对所有行执行此操作,结果如下:
104,206 99,557 96,667 1 33 1 120,993 0
104,708 99,189 96,641 6 14 1 123,989 65536
104,985 101,174 98,251 5 30 2 118,445 196608
在一行中(使用):
例如:
>> data = [5 8 6 0 9
1 3 3 5 2
4 5 6 0 8
2 2 7 3 5];
>> data(data(:,4)==0,:) = []
data =
1 3 3 5 2
2 2 7 3 5
请让我们知道你尝试过什么…你在二维矩阵上使用10个索引。我不明白你的意思。数据为1000x10标记为~=900x1清洁_数据为~=900x10标记为1d此方法的速度平均是上述逻辑索引方法的两倍(在我的机器上)
data(标记,:,:,:,:,:,:,:,:)
指定了10个索引。为什么?它应该是数据(标记,:)
啊,我的错误。为什么不修改提交文件?
data(data(:,4)==0,:) = [];
>> data = [5 8 6 0 9
1 3 3 5 2
4 5 6 0 8
2 2 7 3 5];
>> data(data(:,4)==0,:) = []
data =
1 3 3 5 2
2 2 7 3 5