Can we use 'parfor' in user defined function?

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 件のコメント

KSSV
KSSV 2017 年 8 月 6 日
What function you are trying to use parfor?
Mohsin Shah
Mohsin Shah 2017 年 8 月 6 日
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 2017 年 8 月 6 日
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)

サインインしてコメントする。

 採用された回答

Walter Roberson
Walter Roberson 2017 年 8 月 6 日

0 投票

Yes, for sure you can, provided that you have the parallel computing toolbox installed and licensed

4 件のコメント

Mohsin Shah
Mohsin Shah 2017 年 8 月 7 日
Thank you so much.
Mohsin Shah
Mohsin Shah 2017 年 8 月 7 日
I have parallel computing toolbox installed but still its not working, may be I don't know how to handle parfor in called functions. Would you give me a simple example of a code?
Walter Roberson
Walter Roberson 2017 年 8 月 7 日
function y = function_name(p)
t = 0;
parfor k = 1 : length(p)
t = t + p(k);
end
y = t;
end
Mohsin Shah
Mohsin Shah 2017 年 8 月 7 日
Thank you so much

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeParallel for-Loops (parfor) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by