add a column between tow columns
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am newbie with matlab. I have a matrix like:
a = [ 2 5 7 ; 3 6 8]
I would like to add new column between column 1 and 2, So I will have:
a = [2 1 5 7; 3 4 6 8]
Let me ask it more general, I want to add a column between any two columns.
Thanks
0 Kommentare
Akzeptierte Antwort
Sara
am 29 Mai 2014
Given the array A and the column vector x, let n be the column after which you want to add x into A:
ncol = size(A,2);
cat(2,A(:,1:n),x,A(:,min(n+1,ncol):end))
3 Kommentare
Sara
am 29 Mai 2014
As far as I know, you may add x it at the end of A too, so n+1 would be outside A boundaries. It's just a precaution.
Weitere Antworten (3)
Adam
am 29 Mai 2014
Hi, look here http://www.mathworks.com/matlabcentral/answers/1085-inserting-a-column-in-a-matrix-without-deleting-any-column
If you use it often, some function handling it should not be problem to program.
Adam
0 Kommentare
Jos (10584)
am 29 Mai 2014
% DATA
A = [1 2 3 ; 4 5 6] % original matrix
x = [8 ; 9] % values to insert
J = 2 % insert x AFTER column J into A
% ENGINE
B = [A x]
[~,i] = sort([1:size(A,2) J])
B = B(:,i)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Manual Performance Optimization 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!