How to properly delete cell element ?
Show older comments
I have a 1x12 cell. How do i remove the last element in the cell ? I tried cell{end} = [] but it did not work. It only emptied the last cell. I would like the result to be a 1x11 cell
Accepted Answer
More Answers (3)
Ceethal Kottakali Piyus
on 20 Jan 2022
2 votes
You have to use round parentheses instead of curly braces (which act on the inner cell values and not on the cells themselves):
cell(end) = [];
1 Comment
Hi Ceethal,
What if I want to remove the second row of a 2x2 cell array?
cell_arr = {1,2;3,4}
cell_arr(2,:) = []
Edit: I just found the expression myself. But I'd like to keep this thread for anyone who's running into the same problem.
Amir Hosein Asaadi
on 27 Sep 2021
I sove it by creating variable again like this:
cell_var = {'var1','var2'};
cell_var = {'var1'};
I hope this work for you.
Josep Llobet
on 2 Aug 2022
% Cell you want to copy
branques_pixels_new = {[55178] [55593] [62271] [62686] [66858] [67273 123123 12123]}
% element you want to eliminate
n_elm_borrar = 3;
% New cell with the non- element
branques_pixels_new_2 = {};
% Operation
for n_elm = 1:length(branques_pixels_new)
if n_elm ~= n_elm_borrar
branques_pixels_new_2{end+1} = branques_pixels_new{n_elm};
end
end
% New cell
branques_pixels_new_2
2 Comments
Stephen23
on 2 Aug 2022
The simple and efficient MATLAB approach:
branques_pixels_new_2 = branques_pixels_new;
branques_pixels_new_2(n_elm_borrar) = [];
Josep Llobet
on 3 Aug 2022
That's true, it's better that one
Categories
Find more on Data Type Conversion 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!