Clear function inside a parfor loop: Transparency violation error
조회 수: 7 (최근 30일)
이전 댓글 표시
Dear community,
I tried to find some answers about the topic in this title, but I found only the problem concerns to set the variable as empty.
I don't clear a variable but a function, as shown in the example below. This produce a transparency violation error. Could someone help me? I need to clear the function in every loops.
Kind regard
Califfo
parfor i=1:N1
for j = 1:N2
clear myfunction
[outputs] = myfunction(inputs);
end
end
댓글 수: 0
채택된 답변
Jan
2020년 12월 27일
What is the purpose of clearing the function? Do you want to get rid of persistently stored variables? This could be done more efficiently, e.g. by:
function outputs = myfunction(inputs)
persistent a,b
if nargin == 0
a = [];
b = [];
return;
end
end
Now call myfunction() instead of clearing it. This avoid a time-consuming reloading of the function from the disk and the reparsing.
추가 답변 (1개)
참고 항목
카테고리
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!