Add a row above row nb 'X' in a cell array

33 Ansichten (letzte 30 Tage)
Alizee
Alizee am 22 Apr. 2013
Beantwortet: Vecta Matlab am 18 Sep. 2019
Hello,
I would like to know if there is an easy way in Matlab to add a row above another in a cell array? This would corresponds to the function 'insert' in Excel which shifts all rows below down.
Example:
-Initial cell array= {'a','1';'b','2';'c','3'};
-Add row above row nb 2...
-Final cell array= {'a','1';'','';'b','2';'c','3'};
I have tried to to do it by concatenating a new empty one row cell array but of course this raises exceptions if I want to add a row above the first one or above the last one.
Thank you in advance for your help.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 22 Apr. 2013
C(n+1:end+1,:) = C(n:end,:);
C(n,:) = {};
  2 Kommentare
Alizee
Alizee am 22 Apr. 2013
Thank you very much Walter, simple and elegant, couldn't find better. Have a good day.
Ariel
Ariel am 28 Jul. 2014
What is n in this case?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Vecta Matlab
Vecta Matlab am 18 Sep. 2019
In 2018a, this needs a bit change.
C(n+1:end+1,:) = C(n:end,:);
C(n,:) = {[]};
Or it throws an error.
Unable to perform assignment because the size of the left side
is 1-by-3 and the size of the right side is 0-by-0.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by