cc2005726 发表于 2009-12-12 22:25

如何特殊形式的向量中是否有循环间隔出现的数字

现在有一个向量,里面只可能有3个数字,0,1,2,其中0占大多数,现在如何判断这个向量中有1和2轮番出现呢,比如,1 和2就轮番出现了(1和2中间隔的0就忽略了吧),
b= 中,第二个1出现后,2没有接着出现,这种情况就不行,不叫轮番出现了
请问:如何编程实现判断呢,如果是轮番出现,则返回1,没有则返回0

ChaChing 发表于 2009-12-14 00:15

function ind=cycle(b)
a=b; a(b==0)=[]; a=diff(a);
if any(a==0), ind=0; else ind=1; end

b=; ind=cycle(b)
b=; ind=cycle(b)

cc2005726 发表于 2009-12-14 21:53

回复 沙发 ChaChing 的帖子

呵呵,这正想发帖说我已经解决了呢,我的思路跟你的是一样的。不过你的代码比我的简洁,a(b==0)=[]; 这一句让我学习了

ChaChing 发表于 2009-12-15 00:09

我的想法, 只要可以解决问题, 不管简洁与否, 就是好方法!
其实我已晚一天贴了, 就是希望楼主们能够自己发挥潜力自我解决!
可能回快了些, 害大家少了欣赏LZ的成果
页: [1]
查看完整版本: 如何特殊形式的向量中是否有循环间隔出现的数字