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