Transferring Data between Cell Arrays

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

 채택된 답변

the cyclist
the cyclist 2013년 3월 5일

0 개 추천

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.)

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 3월 5일

0 개 추천

clear B
A=num2cell(rand(20))
B(1:6,1:8) = A(6:11,1:8);

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by