Fill structure in parallel loop
조회 수: 6 (최근 30일)
이전 댓글 표시
I have the following structure:
The company structure consist out of 3 fields
- old
- new
- feature
these 3 fields are also structures and consists out 11 fields
These 11 fields have dimensions of 45*60.
There are 45 companies. So each company is filling a line in each field from the old,new,feature.
These fields are filled now as follows:
for i = 1:amount
company = FillFields(company)
end
If i make it a parfor loop then this construction will not work.
But i don't now how to easily make it work with a parfor loop?
Thanks in advance!
댓글 수: 0
답변 (1개)
Edric Ellis
2021년 9월 10일
The main constraint here is the parfor "sliced output" requirement. Basically you cannot directly update a single struct using parfor, but you can use parfor to assemble the fields separately, and then put them together into a struct afterwards. For example:
parfor i = 1:7
name{i} = sprintf('name %d', i);
value(i) = randi(10);
end
result = struct('name', {name}, 'value', {value})
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!