# Adding columns in a cell

2 views (last 30 days)
KK14 on 10 Jun 2019
Edited: Adam Danz on 12 Jun 2019
I have a cell which is 100*4100. I need to take first 100 columns as a matrix and the next 100 columns as the 2nd matrix and find average between them. Please help me out.
Thank you
##### 1 CommentShowHide None
madhan ravi on 10 Jun 2019
"... find average between them"
What do you mean by that?

James Browne on 12 Jun 2019
Greetings,
I believe I understand what you are looking for so I wrote a script which I think will solve your problem. All you should need to do is put your data object in the variable A, instead of the matrix of all 1s that I used to test out the script while I was writing it.
%Sreate sample data matrix of all ones
A = ones(100,4100);
%Create matrices of 100 columns from sample data
B = A(:,1:100);
C = A(:,101:200);
%Preallocate memory for storing the averaged results
D = zeros(100,100);
for i = 1:100
for j = 1:100
D(i,j) = (B(i,j) + C(i,j))/2;
end
end
##### 2 CommentsShowHide 1 older comment
Adam Danz on 12 Jun 2019
Edited: Adam Danz on 12 Jun 2019
If this is the correct interpretation of the question (which seems likely), you'll need to extract the matrices from the cell array first.
c = num2cell(rand(100,4100)); %fake data that fits OP's description
D = (cell2mat(c(:,1:100)) + cell2mat(c(:,101:200))) ./2;