【问题标题】:How to count replicates in an array [duplicate]如何计算数组中的重复次数[重复]
【发布时间】:2015-05-22 17:23:30
【问题描述】:

如果你有以下数组

a = [1 1 3 4 4 1 1 4 4 4];

我想得到这个结果

b = [1 3 4 1 4];
c = [2 1 2 2 3];

b 是一个数组,具有来自 a 的唯一相邻值,

c是一个计算重复次数的数组

有没有办法在没有循环的情况下做到这一点?

【问题讨论】:

  • 您要求的是run length encoding。这已经在 StackOverflow 上被问死了。我链接到的一个是更受欢迎的帖子之一。如果您查看 Mohsen 的答案,只需将 numCode 等同于您的输入数组。
  • 是的,Mohsen 的代码也能正常工作

标签: matlab matrix


【解决方案1】:

diff 的一种方法-

b = a([true diff(a)~=0])
c = diff(find([1 diff(a)~=0 1]))

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 2012-11-18
    • 2016-04-21
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多