我有以下问题:
我在两个矩阵中删除条目时它们都为零。如果我有一对这样的矩阵,如何在matlab中为循环正确编写索引? 代码:
x = [0 0 0 1 1 0 5 0 7 0]
y = [0 2 0 1 1 2 5 2 7 0]
idx = ~(x==0 & y==0);
x2 = x(idx)
y2 = y(idx)
你可以帮帮我吗?
答案 0 :(得分:1)
如果我理解正确,你想匹配x和y都为零的元素,所以这样的东西应该有效(没有~
}:
idx = (x==0 & y==0);
x2 = x(~idx)
y2 = y(~idx)
或者更简单地说,正如mutzmatron所建议的那样:
idx = (x ~= 0 | y ~= 0);
x2 = x(idx)
y2 = y(idx)
答案 1 :(得分:0)
或许这样吗?
x2 = x(find(or((x~=0),(y~=0))))
y2 = y(find(or((x~=0),(y~=0))))
这些显然不会进行就地替换,因此x
和y
不会更改。我还没有想出如何在两个阵列上同时做到这一点。
编辑阅读下面的@ mutzmatron评论