How can I insert row into matrix without deleting its values?

157 visualizaciones (últimos 30 días)
Hello all! I want to insert row into the matrix, for example I have a=[1,2;4,9;11,12;3,6], and b=[0,0] ; now I want to insert b into a in the third position like this a=[1,2;4,9;0,0;11,12;3,6]. Any ideas?
  2 comentarios
Hikaru
Hikaru el 28 de En. de 2015
Is there a condition to be satisfied before performing this operation? Is it always going to be the 3rd position?
Giorgi
Giorgi el 28 de En. de 2015
Well its always going to be 3rd position

Iniciar sesión para comentar.

Respuesta aceptada

Matz Johansson Bergström
Matz Johansson Bergström el 28 de En. de 2015
Editada: Matz Johansson Bergström el 28 de En. de 2015
The only way I know of is to create a new matrix consisting of A and the row and then append the three matrices together, for instance
A = [1,1; 2,2; 3,3];
b = [6,7];
k = 0; %row position, can be 0,1,2 or 3 in this case
A = [A(1:k,:); b; A(k+1:end,:)]
  6 comentarios

Iniciar sesión para comentar.

Más respuestas (2)

Stalin Samuel
Stalin Samuel el 28 de En. de 2015
a=[1,2;4,9;11,12;3,6],
b=[0,0] ;
row_no=3 %%where wants to insert
a(1:row_no-1,:) = a(1:row_no-1,:)
tp =a(row_no:end,:)
a(row_no,:)=b
a(row_no+1:end+1,:) =tp
  1 comentario
Riyadh Muttaleb
Riyadh Muttaleb el 14 de Mzo. de 2017
Hi Stalin,
I would like to insert rows by using loop, your help would be so appreciated,
Riyadh

Iniciar sesión para comentar.


Anil Kamat
Anil Kamat el 1 de Oct. de 2021
Editada: Anil Kamat el 1 de Oct. de 2021
Just in case the insert position is variable.
emt_lpfc=[]; emt_rpfc = []; emt_lpmc =[]; emt_rpmc =[]; emt_sma=[];
A = rand(3,3)
emt_lpfc = 1;
emt_sma = 5;
emt_reg = [emt_lpfc emt_rpfc emt_lpmc emt_rpmc emt_sma];
temp = [];
if isempty(emt_reg) == 0
for i = 1:size(emt_reg,2)
%for filling rows
temp = A(emt_reg(i):end,:);
A(emt_reg(i),:)= zeros(size(A,1),1);
A (emt_reg(i)+1:end,:) = [];
A = [A ; temp];
%for filling columns
temp = [];
temp = A(:,emt_reg(i):end);
A(:,emt_reg(i))= zeros(1,size(A,1));
A (:,emt_reg(i)+1:end) = [];
A = [A temp];
end
end

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by