2017-03-14 25 views
0

我有一個嵌套的單元格數組,其中有一個用於信息的字段,另一個用於另一個單元格。 如何使用輔助變量刪除單元格?Octave Cell Array

例如:

T =電池陣列

P的開始= T

P = {2}根據需要多次。

p {2} = []

缺失對細胞的不在原始列表可見。

+0

這是不可能的。一旦分配了'P = T','P'就是'T'的一個新副本,與原始數據無關。 – beaker

回答

0

我不認爲你所做的代碼做了你認爲它做的事情。 Octave \ Matlab不完全​​實現指針的概念。

正如燒杯說的那樣,賦值操作是複製,所以P = T是另一個單元陣列。實際上,出於性能方面的原因,直到您更改其中之一的內容爲止,它仍然是相同的陣列。即直到P{2}={}在此時T={}P={[1,1] = [](0x0) [1,2] = {}(0x0)}。 (P = P{2}甚至沒有按順序工作。)

這是好的,因爲Octave \ Matlab不打算公開內存尋址等。即您無法確定變量PT是否存儲在相同的地址。相等運算符與數組的元素一起工作,並不完全適用於單元格。

Octave \ Matlab是專爲數字運算而設計的。 簡單創建操作任意數據結構超出其範圍。 創建列表以下鏈接可能有幫助,雖然解決方案非常複雜: MATLAB linked list