MATLAB Answers

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

4 views (last 30 days)
Christoph Thale on 7 Sep 2016
Commented: Mischa Kim on 7 Sep 2016
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.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Mischa Kim on 7 Sep 2016
Christoph, simply use round brackets instead
a = {1,2,3};
a(2) = []
##### 3 CommentsShowHide 2 older comments
Mischa Kim on 7 Sep 2016
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 on 7 Sep 2016
Edited: Noam Weissman on 7 Sep 2016
txt = txt([2 3 5]);
% or
txt([1 4 ])=[];
##### 1 CommentShowHide None
Christoph Thale on 7 Sep 2016
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!