how to insert the column [60;80] into the third column
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Risposta accettata
Azzi Abdelmalek
il 18 Mag 2016
Modificato: Azzi Abdelmalek
il 18 Mag 2016
A=[1 5 6; 3 0 8]
A=[A [60;80]]
%Or
A(:,end)=[60;80]
1 Commento
Image Analyst
il 18 Mag 2016
This appends. It does not insert. The data are not even in column 3 - they're in column 4. Even though my code is longer because of comments and error checking, I think it's the most robust, and it will insert or append depending on how many columns there are already.
Più risposte (4)
Image Analyst
il 18 Mag 2016
Bella, here's a fairly robust way:
% Define sample data.
A=[1 5 6; 3 0 8]
[rows, columns] = size(A);
% Define a column vector of data you'd like to insert.
colVecToInsert = [60;80]
% Define the column you want to insert it to
col = 3;
% Do the insert
if col >= 1 && col <= (columns + 1)
A = [A(:,1:col-1), colVecToInsert, A(:, col:end)]
elseif col > (columns + 1)
% Will append to right side.
A = [A, colVecToInsert]
else
warningMessage = sprintf('Cannot insert into column %d', col);
uiwait(warndlg(warningMessage));
end
Jos (10584)
il 18 Mag 2016
Modificato: Jos (10584)
il 18 Mag 2016
A = [1 5 6 ; 0 3 8]
A(:,3) = [60 ; 80] % insert a vector in the 3rd column
2 Commenti
Jos (10584)
il 19 Mag 2016
Modificato: Jos (10584)
il 19 Mag 2016
True, but isn't there a difference between "insert into" and "insert before"/"insert after"? Confusing question → different answers.
Jos (10584)
il 19 Mag 2016
For what it is worth, take a look at INSERTROWS, which you can use with transpose to get "insertcolumns" after (or before) a specific column
A = [1 5 6 ; 3 0 8]
B = [60 ; 80]
ColumnToInsertB_before = 3
C = insertrows(A.', B.', ColumnToInsertB_before-1).'
The function INSERTROWS can be downloaded via this link: http://blogs.mathworks.com/pick/2008/05/16/inserting-rows/
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!