How can I insert row into matrix without deleting its values?
    53 views (last 30 days)
  
       Show older comments
    
    Giorgi
 on 28 Jan 2015
  
    
    
    
    
    Commented: Jayasudha
 on 5 Mar 2024
            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 Comments
  Hikaru
      
 on 28 Jan 2015
				Is there a condition to be satisfied before performing this operation? Is it always going to be the 3rd position?
Accepted Answer
  Matz Johansson Bergström
      
 on 28 Jan 2015
        
      Edited: Matz Johansson Bergström
      
 on 28 Jan 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 Comments
More Answers (2)
  Stalin Samuel
      
 on 28 Jan 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 Comment
  Riyadh Muttaleb
 on 14 Mar 2017
				Hi Stalin,
I would like to insert rows by using loop, your help would be so appreciated,
Riyadh
  Anil Kamat
 on 1 Oct 2021
        
      Edited: Anil Kamat
 on 1 Oct 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
0 Comments
See Also
Categories
				Find more on Creating and Concatenating Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






