How to delete the row from cell array?
Show older comments
I have a cell arraywhich has 10*6 matrix in it. How can I delete a row from the matrix? thanks in advance.
Accepted Answer
More Answers (3)
Azzi Abdelmalek
on 10 Jul 2013
row=2
A(row,:)=[]
6 Comments
siddhesh rane
on 10 Jul 2013
Azzi Abdelmalek
on 10 Jul 2013
row=2;
out=cellfun(@(x) x(setdiff(1:10,row),:),A,'un',0)
Shihao Wang
on 26 Apr 2018
Thanks from 2018
Mehdi Maadir
on 9 Jul 2021
Thanks from 2021
Tong Zhao
on 16 Jun 2022
Thanks from 2022
Kris Hoffman
on 5 Jul 2022
Thanks from 2026
You can index out the rows like any standard array (the following code removes the second row):
x = {1 2 3; 4 5 6; 7 8 9}
x =
[1] [2] [3]
[4] [5] [6]
[7] [8] [9]
y = x([1 3],:)
y =
[1] [2] [3]
[7] [8] [9]
3 Comments
siddhesh rane
on 10 Jul 2013
John
on 10 Jul 2013
Ok I think I understand, you have a cell array that looks like the following:
A = {rand(5), 1}
A =
[5x5 double] [1]
You want to remove a row from the matrix in the first element of A. You can do the following:
A{1} = A{1}([1 2 4 5],1);
(this will remove the third row). Alternatively you can use Azzi Abdelmalek's method shown below:
A{1}(3,:) = []
I think this is what you are looking for.
siddhesh rane
on 10 Jul 2013
siddhesh rane
on 10 Jul 2013
0 votes
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!