1
이것은 주어진 코드이지만 실행하는 데 너무 오래 걸립니다. 중첩 된 for 루프를 제거하여 어떻게하면 더 빠르게 만들 수 있습니까?중첩 된 for 루프를 제거하여 MATLAB 코드를 최적화 하시겠습니까?
for iGroup = 1:length(groupIndices)
curGroupIndex = groupIndices(iGroup);
curChanIndices = chanIndices{iGroup};
curChanNames = chanNames{iGroup};
groupPropStruct = propsToStruct(propNames{curGroupIndex},propValues{curGroupIndex},REPLACE_STR,PREPEND_STR,ALWAYS_PREPEND);
groupStruct = struct('name',groupNames(iGroup),'props',groupPropStruct);
for iChan = 1:length(curChanIndices)
curChanIndex = curChanIndices(iChan);
chanPropStruct = propsToStruct(propNames{curChanIndex},propValues{curChanIndex},REPLACE_STR,PREPEND_STR,ALWAYS_PREPEND);
chanStruct = struct('name',curChanNames{iChan},'props',chanPropStruct,...
'data',[]);
chanStruct.data = data{curChanIndex};
groupStruct.(TDMS_genvarname2(chanStruct.name,...
REPLACE_STR,PREPEND_STR,ALWAYS_PREPEND)) = chanStruct;
end
output.(TDMS_genvarname2(groupStruct.name,...
REPLACE_STR,PREPEND_STR,ALWAYS_PREPEND)) = groupStruct;
end
이 코드가 무엇을해야할지 모른 채이 질문을 찾기가 힘들다면. 잠재적으로이 작업은 중첩 루프없이 수행 할 수 있지만 모든 중첩 루프를 제거 할 수는 없습니다. – Schorsch