How to delete the row from cell array?
191 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
siddhesh rane
am 10 Jul. 2013
Kommentiert: Kris Hoffman
am 5 Jul. 2022
I have a cell arraywhich has 10*6 matrix in it. How can I delete a row from the matrix? thanks in advance.
0 Kommentare
Akzeptierte Antwort
Matt J
am 10 Jul. 2013
Is this what you want:
>> A(1:2)={rand(10,6)}
A =
[10x6 double] [10x6 double]
>> row=2; A{1}(2,:)=[] %delete 1 row from 1 cell
A =
[9x6 double] [10x6 double]
4 Kommentare
Matt J
am 28 Sep. 2018
As Stephen says, you will have to use a loop, but you can also hide the loop with cellfun,
cellfun(@(c) c(1:800), yourCell, 'uni',0 )
Weitere Antworten (3)
John
am 10 Jul. 2013
Bearbeitet: John
am 10 Jul. 2013
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 Kommentare
John
am 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.
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!