Insert a blank column every n columns

Hi. I have a matrix (size 10x360) and I want insert a blank column every n columns. How can I do? I have tried to use for loop, but unsuccessfully.
Thanks, Alessandro

Answers (5)

Carlos
Carlos on 21 Mar 2013
Edited: Carlos on 21 Mar 2013
Try this, if you want to insert a blank column every 5 columns
A=rand(10,360);
A=num2cell(A);
A(:,1:5:end)=cell(1);

2 Comments

It doesn't work...it deletes the column, it does not insert a blank column.
OK, I misunderstood your question, look at the file exchange function insertrows uploaded by Jos, that http://www.mathworks.com/matlabcentral/fileexchange/9984, that may do the job for you.

Sign in to comment.

To insert columns with zeros you can try this:
A=rand(10,360);
n = 5;
nc = floor(360/n);
for c=1:nc;
B(:,(n*c+c-n):(n*c+c-1)) = A(:,(n*(c-1)+1):n*c);
end
If you need empty cells, you can convert your matrix to a cell array like Carlos showed before.
Andrei Bobrov
Andrei Bobrov on 21 Mar 2013
Edited: Andrei Bobrov on 22 Mar 2013
yourmatrix = randi(23,10,360);
n = 6;
yourmatrix(:,n:n:end) = nan;
or
a = randi(23,10,360);% your matrix
n = 5;
s = size(a);
k = floor(s(2)/n);
n1 = k*n;
out = [reshape([reshape(a(:,1:n1),s(1),k,[]),...
repmat(nan,[s(1),1,n])],s(1),[]),a(:,n1+1:end)];
or
a = randi(32,10,360);
n = 7;
out = zeros(s+[0 floor(s(2)/n)]);
out(:,n+1:n+1:end) = nan;
out(~isnan(out)) = a;
i have matrix a with some rows and some columns i want matrix b with same number of rows but double the number of columns such that every column repeats itself
minhua su
minhua su on 18 Apr 2019
this is how i solved the problem recently
str = strings([1,508*7])
i=[]
j=1
for i=1:508
str(j)=bamfiles(i)
j=j+7
end

1 Comment

bamfiles is my original matrix, which is (size 1X508), and i create a new matrix str (the size is decided by how many every columns you want to insert)

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 21 Mar 2013

Commented:

on 18 Apr 2019

Community Treasure Hunt

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

Start Hunting!