gpt4 book ai didi

matlab - 删除零和连接向量

转载 作者:行者123 更新时间:2023-12-04 18:12:04 24 4
gpt4 key购买 nike

我有一个数组

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

有任何想法吗?

最佳答案

怎么样

x = x.';
dx = x ~= 0;
dx = dx | circshift(dx, 1)

y = x(dx).'

所以,分解:
  • 找到转置数组
  • 的非零的逻辑索引
  • 将此数组循环向下移动 1 并将其与原始逻辑逻辑或,以直接在非零后得到零
  • 用这些逻辑索引数组并转置以完成操作
  • 关于matlab - 删除零和连接向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421164/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com