0
我想使用Matlab找到大小为1xn的随机数组中最长序列的大小。我知道有两种方法可以做到这一点:1)使用循环和2)使用Matlab函数,例如发现,但我不确定如何做到这一点,而不使用两者?使用matlab查找大小为1xn的随机数组中最长序列的大小使用matlab
E.G. [1 2 3 5 8 9 10 11 12 13 14 17]
在这个最长的顺序将是10 11 12 13 14,这将是大小5
我尝试这样做的,但它不工作:
function [start, finish] = longest(sequence)
x = diff(t)==1;
f = find([false,x]~=[x,false]);
g = find(f(2:2:end)-f(1:2:end-1)>=N,1,'first');
这是一个很好的帮助,设法解决它谢谢。我的朋友提到它可能只用循环(即)没有差异和最大内置函数,但我不知道从哪里开始呢?我在写一个循环来猜测一些事情,以便继续计数并保存每个序列的长度,然后在找到更长的长度时替换该长度。你会如何写这个? –
鉴于MATLAB通常针对向量化进行了优化,答案是我不会。我看不出有什么理由一次完成向量一个元素,因为你可以让MATLAB一举完成。 – craigim