2014-03-26 58 views
0

此致敬禮。 我想知道是否有人可以幫助我與MatLab。 有沒有辦法將這2個值count_zero和count_value保存到2個向量中。請不要與代碼混淆,我需要做的部分是在while循環中,上半部分與此問題無關。 例如,count_zero的所有值都保存在矢量a = [count_zero count_zero ..]中,矢量b中的count_value的所有值都保存在[count_value count_value ...]中。 這是我的代碼,在此先感謝。MatLab,需要幫助,如何在向量中保存我的腳本的結果?

   threeminutesofvideo_Youtube; 
       h=[0:0.5:179]; 
       for idx=1:length(h) 
       threshold=h(idx); 
       m =find(threshold-1<=x & x<=threshold); 
       Y(idx)=sum(y(m)); 
       end 

    count_zero=0; 
    count_value=0; 
    i=1; 

while i<length(Y) 

if (Y(i)==0) 
    count_zero=count_zero+1; 
    i=i+1; 
    while Y(i)==0 && i<length(Y) 
    count_zero=count_zero+1; 
    i=i+1; 
    end 

    if i<(length(Y)) 
    count_zero 
    count_zero=0; 
    end 

    if i==(length(Y)) && Y(length(Y))~=0 
         count_value=1; 
         count_value 
         count_value=0; 
    elseif i==(length(Y)) && Y(length(Y))==0    
         count_zero=count_zero + 1; 
         count_zero 
         count_zero=0; 
    end 


else 
    count_value=count_value+1; 
    i=i+1; 
    while Y(i)~=0 && i<length(Y) 
    count_value=count_value+1; 
    i=i+1; 
    end 
    if i<(length(Y)) 
    count_value 
    count_value=0; 
    end 

    if i==(length(Y)) && Y(length(Y))~=0 
         count_value=count_value+1; 
         count_value 
         count_value=0; 
    elseif i==(length(Y)) && Y(length(Y))==0    
         count_zero=1; 
         count_zero 
         count_zero=0; 
    end 


end 

+2

考慮添加索引對他們來說,這樣的'count_zero(我)'。另外,爲了安全起見,在'while'循環之前考慮爲它們預先分配。 – Divakar

+0

當我嘗試添加索引像你說的count_zero(我)它顯示我一個錯誤:索引超過矩陣的尺寸。 off_on_vectorsave中的錯誤(第48行) count_value(i) – user3464577

回答

1

至於我明白你要記住在向量中的值,而不是保存到文件,不是嗎? 在這種情況下,讓我們在其中調用要記住矢量如果你預先知道你要記住,你可以做到這一點

a = NaN*ones(num_of_values,1); 
i=1; 
while condition 
    ... 
    a(i) = temp_val; 
    i = i+1; 
end 

如果你不知道值的數量值的數量先驗:

a=[]; 
i=1; 
while condition 
    ... 
    a = [a;temp_val]; 
    i=i+1; 
end 

我希望是有幫助的

+0

非常感謝!我沒有這樣做,但它是非常有用的,尤其是a = [];和a = [a; temp_val];部分! – user3464577

+0

然後請評價答案:) –

+0

我會:D我還沒有15聲望,所以我不能夠做到這一點:D – user3464577