我有一个数组
x =
404 1 1 5 5 1 1 5 0 0 0 0 0 0 0 0 0
405 2 5 5 4 5 2 5 4 5 3 3 2 5 3 3 0
406 5 5 3 5 3 5 4 3 3 1 4 0 0 0 0 0
我想删除所有零除了直接在非零整数右边的那些。即除了整行中的最后一个零之外的所有零。 (例如,x=x(x~0);
只删除零,但然后返回一个列向量。所以这不太正确)然后连接所有剩余的向量。
像这样:
404 1 1 5 5 1 1 5 0 405 2 5 5 4 5 2 5 4 5 3 3 2 5 3 3 0 406 5 5 3 5 3 5 4 3 3 0 4
有什么想法吗?
答案 0 :(得分:4)
怎么样
x = x.';
dx = x ~= 0;
dx = dx | circshift(dx, 1)
y = x(dx).'
所以,细分: