2013-07-23 105 views
0

我編程GUI和我有一個可變的結構,如:拆卸結構

bin: 0.2000 
Logical1: 0 
Logical2: 0 
Matrixraw: {[1x1 struct] [1x1 struct]} 
Matrixfiltered: {[1x1 struct] [1x1 struct]} 
Matrixcorrected: {[1x1 struct] [1x1 struct]} 

每個輸入文件都有自己的矩陣。在這種情況下,我們有兩個輸入文件,因爲每個矩陣有兩個結構。如果我們把3個輸入文件放在3個結構中,依此類推。

我想製作一個按鈕,給定一個索引1,2,3 ..從Matrix結構中刪除第i個組件。所以,如果你輸入2,它會清除矩陣的第二個組成部分,並且會給出:

bin: 0.2000 
Logical1: 0 
Logical2: 0 
Matrixraw: {[1x1 struct]} 
Matrixfiltered: {[1x1 struct]} 
Matrixcorrected: {[1x1 struct]} 

謝謝。

回答

0

這裏有一個簡單的方法來做到這一點。 假設你有這樣的:

Matrixfiltered= {[1 2], {}, 4} 

,現在我們要刪除第二個:

Matrixfiltered(2) = [] 

現在你有這樣的:

Matrixfiltered= {[1 2], 4} 

只要給它一試!

1

如果你想刪除結構的成員:

Matrixraw = struct('field1', 1, 'field2', '2') 

Matrixraw = 

    field1: 1 
    field2: 2 

// delete first element of structure 
Matrixraw(1) = [] 

Matrixraw = 

    field1: [] 
    field2: [] 

語法下面將清空的結構和完全刪除可變數據:

// both works 
Matrixraw = {} 

Matrixraw = [] 
+0

但我只想刪除與您決定的索引對應的結構。 – JPV