gpt4 book ai didi

matlab - 出现次数的向量

转载 作者:行者123 更新时间:2023-12-02 05:23:56 25 4
gpt4 key购买 nike

我有一个向量a=[1 2 3 1 4 2 5]'

我正在尝试创建一个新向量,为每一行提供元素在 a 中的出现次数。例如,对于这个矩阵,结果将是 [1 1 1 2 1 2 1]':第四个元素是 2,因为这是第一次重复 1。

我能看到实现这一点的唯一方法是创建一个零向量,其行数将是唯一元素的数量(此处:c = [0 0 0 0 0] 因为我有 5 个元素)。我还创建了一个与 a 长度相同的零向量 d。然后,遍历向量a,将我们读取到的c的行加一,并将c的相应数加到d的当前行。

有人能想出更好的办法吗?

最佳答案

这是一个很好的方法

C=sum(triu(bsxfun(@eq,a,a.')))

我的第一个建议是,一个不太好的 for 循环

for i=1:length(a)
F(i)=sum(a(1:i)==a(i));
end

关于matlab - 出现次数的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695619/

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