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

47 Ansichten (letzte 30 Tage)
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 Kommentare
Hikaru
Hikaru am 28 Jan. 2015
Is there a condition to be satisfied before performing this operation? Is it always going to be the 3rd position?
Giorgi
Giorgi am 28 Jan. 2015
Well its always going to be 3rd position

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matz Johansson Bergström
Matz Johansson Bergström am 28 Jan. 2015
Bearbeitet: Matz Johansson Bergström am 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 Kommentare

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Stalin Samuel
Stalin Samuel am 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 Kommentar
Riyadh Muttaleb
Riyadh Muttaleb am 14 Mär. 2017
Hi Stalin,
I would like to insert rows by using loop, your help would be so appreciated,
Riyadh

Melden Sie sich an, um zu kommentieren.


Anil Kamat
Anil Kamat am 1 Okt. 2021
Bearbeitet: Anil Kamat am 1 Okt. 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

Kategorien

Mehr zu Creating and Concatenating Matrices 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