2013-02-23 172 views
0

我需要最後一個單元(比方說第k個單元)不在它之前的單元中出現單元,即第(k-1)個單元其中k = 1,2,...,p。例如,k = 2,r = 2 ^(k + 2)+2,n = 2 ^(k)+1;單元陣列操縱matlab

for i=1:k 
    dt = 1:2^i:n; 
    for j=1:2^(k-i)+1 
     cd(j,:)= dt+ r*(j-1); 
    end 
    dd{i}=cd; 
    clear cd 
end   

dd {1} = [1 3 5; 11 13 15; 21 23 25]
DD {2} = [1 5; 21 25]

我想在DD發生的所有條目{2}從DD {1}即

DD {1} = [3除去11 13 15 23]。
DD {2} = [1 5 21 25]

+0

這似乎並不有什麼做與細胞陣列。你想要從列表中刪除列表中的元素?另外,您應該在發佈之前完成問題的撰寫。在你最後一次編輯之前,這完全是無法理解的。 – oseiskar 2013-02-23 10:17:13

+0

@oseiskar;是的,我承認..代碼格式的語法使我犯了這個錯誤(它是我第一次)。對於這個問題,我想元素週期性removed.I使用單元格數組,因爲dd有不同的大小。儘管如此,你是對的。 – Kwesi 2013-02-23 10:27:57

回答

0

我認爲你可以使用setdiff來實現自己的目標(兩個數組的差):

setdiff([1,2,3,4,5],[3,4]) 

ans = 

    1  2  5 
+0

@oseikar,謝謝..我知道'setdiff'的命令。我沒有發現它真的有用,特別是如果k很大。這將意味着比較很多單元格。 – Kwesi 2013-02-23 23:51:11