How do i delete an exact cell from a cell-matrix?

Hi,
i have a 1x13 cell-txt-matrix which is read out of an excelsheet with
[num, txt, raw] = xlsread(___)
txt looks like that:
[test] [1.1.111] [2.2.2222] [empty cell] [3.3.3333]
the [ ] stands just for the cell. There are no brackets in it.
I am able to identify the coordinates from the cells i want to delete. The problem is, I cant delete these founded cells. I want to have this:
[1.1.111] [2.2.2222] [3.3.3333]
I tried to solve this problem with the approach:
txt{...} = []
The receiving:
[[]] [1.1.111] [2.2.2222] [[]] [3.3.3333]
I hope you understand my problem and have some satisfying advices.
Thanks a lot.

 Accepted Answer

Christoph, simply use round brackets instead
a = {1,2,3};
a(2) = []

3 Comments

Heyja! That is genius but make no sense to me. Why do i adress cells with round brackets?
a(2) is a cell with size 1x1.
a{2} is the content of the above cell.
You want to delete the cell itself, not only its content.
I agree, this is not obvious.
There is a difference between removing a cell element and setting a cell element to "empty". Since the curly brackets are used to assign cell values, this approach is also used to assign an empty cell value. Therefore, there needs to be a different mechanism to remove a cell element. That is where the round brackets come in in.
Also note, that for matrices you use the same approach:
a = [1,2,3];
a(2) = []
a =
1 3

Sign in to comment.

More Answers (1)

Noam Weissman
Noam Weissman on 7 Sep 2016
Edited: Noam Weissman on 7 Sep 2016
txt = txt([2 3 5]);
% or
txt([1 4 ])=[];

1 Comment

Haha, of course i can solve it with your first attempt for this example but the cells i wont have in my cell-matrix are variable.
Thank you, the round brackets work fine.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!