Can we use 'parfor' in user defined function?

7 vues (au cours des 30 derniers jours)
Mohsin Shah
Mohsin Shah le 6 Août 2017
Commenté : Mohsin Shah le 7 Août 2017
Hello, Can we use 'parfor' in used defined functions? I want to use parfor in user defined functions to improve the speed of my code but its not working. Is there any way we can use it?
  3 commentaires
Mohsin Shah
Mohsin Shah le 6 Août 2017
any user define function for example
% code
y=function_name(p);
% called function
function y=function_name(p)
parfor k=1:10
y=p+k
end
end
Walter Roberson
Walter Roberson le 6 Août 2017
That use of parfor is not permitted because the output would depend upon which iteration ran last. You need either assign to an indexed variable or you need to use a reduction variable (for example totaling the values of the individual iterations)

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 6 Août 2017
Yes, for sure you can, provided that you have the parallel computing toolbox installed and licensed
  4 commentaires
Walter Roberson
Walter Roberson le 7 Août 2017
function y = function_name(p)
t = 0;
parfor k = 1 : length(p)
t = t + p(k);
end
y = t;
end
Mohsin Shah
Mohsin Shah le 7 Août 2017
Thank you so much

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by