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

조회 수: 32 (최근 30일)
Alizee
Alizee 2013년 4월 22일
답변: Vecta Matlab 2019년 9월 18일
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.

채택된 답변

Walter Roberson
Walter Roberson 2013년 4월 22일
C(n+1:end+1,:) = C(n:end,:);
C(n,:) = {};
  댓글 수: 2
Alizee
Alizee 2013년 4월 22일
Thank you very much Walter, simple and elegant, couldn't find better. Have a good day.
Ariel
Ariel 2014년 7월 28일
What is n in this case?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Vecta Matlab
Vecta Matlab 2019년 9월 18일
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.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by