How to properly delete cell element ?
    133 views (last 30 days)
  
       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
0 Comments
Accepted Answer
  goerk
      
 on 27 Jun 2016
        use normal brackets
 cell(end) = [];
1 Comment
  Guillaume
      
      
 on 27 Jun 2016
				The reason being:
- curly brackets act on the content of a cell(s). It does not affect the container (the cell array) itself, so c{end} refers to what's in the last cell, and therefore c{end} = [] puts an empty matrix in that last cell.
- round brackets act on the cell array itself. So c(end) refers to the last cell, and c(end) = [] deletes it.
More Answers (3)
  Ceethal Kottakali Piyus
 on 20 Jan 2022
        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) = [];
  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.
0 Comments
  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) = [];
See Also
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!




