Remove element from cell array completely

I have a cell array with the following information:
>> handles.guideGUI
ans =
Columns 1 through 8
@arq_02 @arq_03 @arq_04 @arq_05 @arq_06 @arq_07 @arq_08 @arq_09
Columns 9 through 14
@arq_10 @arq_11 @arq_12 @arq_13 @arq_14 []
It is still saying that that this is a 1x14 cell, and therefore the empty brackets [] still exist. How do I get rid of it completely so that it becomes 1x13 cell?
i.e. I want it to appear as:
ans =
Columns 1 through 8
@arq_02 @arq_03 @arq_04 @arq_05 @arq_06 @arq_07 @arq_08 @arq_09
Columns 9 through 13
@arq_10 @arq_11 @arq_12 @arq_13 @arq_14

 Accepted Answer

Thorsten
Thorsten on 18 Dec 2014
Edited: Thorsten on 18 Dec 2014
handles.guideGUI(15) = [];

4 Comments

Unfortunately, that gives this:
>> handles.guideGUI{15} = []
handles =
guideGUI: {1x15 cell}
Which is:
>> handles.guideGUI
ans =
Columns 1 through 8
@arq_02 @arq_03 @arq_04 @arq_05 @arq_06 @arq_07 @arq_08 @arq_09
Columns 9 through 15
@arq_10 @arq_11 @arq_12 @arq_13 @arq_14 [] []
Please look carefully at my answer: use (), not {}.
Ohhh I see. My apologies Thorsten I see the difference. Thank you!
It is very important to note the difference between () and {} indexing with cell arrays. In a nut-shell:
  • () refers to the cell itself, whereas
  • {} refers to the data within the cell.

Sign in to comment.

More Answers (1)

handles.guideGUI(cellfun('isempty',handles.guideGUI))=[]

Categories

Asked:

on 18 Dec 2014

Commented:

on 19 Dec 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!