Dear all,
I would like some help in vectorizing this for loop:
k=1; for i=6:5:121;
R(:,k)= rawdata{1,i};
MF(:,k)= rawdata{1,i+1};
QF(:,k)=rawdata{1,i+2};
SF(:,k)=rawdata{1,i+3};
k = 1+k;
end
The rawdata is in the form of cell arrays within cell arrays, I have attached a screenshot of how it looks. The end results for R, MF, QF and SF is a table with what is extracted from the rawdata. I want to find a way to remove this for loop and I read that vectorization is a way of optimize for loops.
Thank You,
M

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2017년 9월 2일
편집: Andrei Bobrov 2017년 9월 3일

0 개 추천

d = rawdata(6:end);
d = reshape(d,5,[])';
out = d(:,1:4);
% R = out(:,1); MF = out(:,2); and etc.
or just
out = rawdata(bsxfun(@plus,6:9,(0:5:numel(rawdata)-6)');
% R = out(:,1); MF = out(:,2); and etc.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2017년 9월 2일

편집:

2017년 9월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by