gpt4 book ai didi

matlab - 保持顺序和重复的独特功能的模拟 (MATLAB)

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:12 24 4
gpt4 key购买 nike

假设我有数据:x = [3,3,1,1,1,2,2,1,1,1,1]
我想要输出:
y = [3,1,2,1]
使用 unique() 函数我可以获得:
z = [3,1,2]

但是如您所见,我最后漏掉了“一”。所以,我试着写一个循环,但没有做我认为它应该做的事情。我原以为它会删除其中一个重复的值,而循环应该确保只保留一个值。然而,输出是:
x=[3,3,1,1,2,1,1]
循环:
对于 i=1:length(x)
如果 x(i)==x(i+1)
x(i)=[];
结束;
结束;
有没有办法像y一样生成输出?我的循环中的错误在哪里?

最佳答案

如果您更喜欢无循环方法 -

y = x([1 diff(x)~=0]==1)

或者

y = x([1 abs(diff(x))]>0)

或者

y = x([1 diff(x)]~=0)

关于matlab - 保持顺序和重复的独特功能的模拟 (MATLAB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627519/

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