Clear function inside a parfor loop: Transparency violation error

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

 Accepted Answer

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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2020b

Asked:

on 24 Dec 2020

Commented:

on 28 Dec 2020

Community Treasure Hunt

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

Start Hunting!