How do i delete an exact cell from a cell-matrix?
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Mischa Kim
on 7 Sep 2016
Christoph, simply use round brackets instead
a = {1,2,3};
a(2) = []
3 Comments
Noam Weissman
on 7 Sep 2016
Edited: Noam Weissman
on 7 Sep 2016
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.
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
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 ])=[];
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!