How do I add a column to a matrix?

I created a 30x30 matrix and now I want to delete the 1st column of data and add another column replacing the deleted column (which should not replace the same column), so I again get a matrix of size 30x30. I am successful in deleting the 1st column but cannot add another column.

 Accepted Answer

Arr = rand(30,30);
%Delete first column
Arr(:,1) = [];
NewCol = rand(30,1);
%Add new column
Arr = [Arr NewCol];

3 Comments

I am new on working with matrices can u tell me if i can convert an array to matrix of desired size i.e..,(rowsxcolumns)
Depending on *how* you want to do it, you could use interp2, imresize, padarray, etc.
Also see reshape

Sign in to comment.

More Answers (1)

If you know you are going to delete and add a new column in the same place, then just assign the new data overtop of the old data:
Arr(:,1) = NewData;

Asked:

raj
on 23 Jan 2012

Edited:

on 13 Feb 2014

Community Treasure Hunt

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

Start Hunting!