我有以下问题:
当两个矩阵中的条目都为零时,我删除条目。如果我有 i 对这样的矩阵,如何在 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)
你能帮助我吗?
如果我理解正确,你想匹配 x 和 y 都为零的元素,所以这样的东西应该可以工作(没有 not ~
):
idx = (x==0 & y==0);
x2 = x(~idx)
y2 = y(~idx)
或者更简单地说,正如 mutzmatron 所建议的:
idx = (x ~= 0 | y ~= 0);
x2 = x(idx)
y2 = y(idx)
也许像这样?
x2 = x(find(or((x~=0),(y~=0))))
y2 = y(find(or((x~=0),(y~=0))))
显然,这些不会进行就地替换,因此x
不会y
更改。我还没有想出如何同时在两个阵列上做到这一点。
编辑阅读下面@mutzmatron 的评论