Transferring Data between Cell Arrays

2 views (last 30 days)
Hi,
Simple question, is there a more efficient method of transferring batches data from one cell array to another.
B{1:5,1:8} = A{6:11,1:8};
Operations like this don't work, but I am hoping to find a method similar to this that does not involve for-loops, which is what I am currently doing.
for i = 1:5
for j = 1:8
B{i,j} = A{5+i,j};
end
end

Accepted Answer

the cyclist
the cyclist on 5 Mar 2013
Using the curly brackets is going to look into the contents. Instead, use parentheses to just assign the cells themselves:
B(1:5,1:8) = A(6:10,1:8);
(I also corrected your size mismatch.)

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Mar 2013
clear B
A=num2cell(rand(20))
B(1:6,1:8) = A(6:11,1:8);

Products

Community Treasure Hunt

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

Start Hunting!