An UndefinedFunction error was thrown on the workers with parfor

Hi,
I got the error
An UndefinedFunction error was thrown on the workers for 'x'. This might be because the file containing 'x' is not accessible on the workers. Use addAttachedFiles(pool, files) to specify the required files
to be attached. See the documentation for 'parallel.Pool/addAttachedFiles' for more details.
Caused by: Undefined function or variable "x"
when running the simple code below. Can anyone please help me with this?
Thanks,
clear all;
clc;
parfor n=1:1
for m=1:2
x{n}(m) = 1;
end
y = x{n}(1)
end

3 件のコメント

Walter Roberson
Walter Roberson 2018 年 10 月 19 日
Initialize x first and the problem will go away.
Dave Lee
Dave Lee 2018 年 10 月 19 日
Hi Walter,
Do you mean as below? I tried and it could run. However, Matlab highlights the error as below when I point to parfor or x (red underscores). Is that still good?
Thanks,
Dave Lee
Dave Lee 2018 年 10 月 19 日
Thanks! it helps.

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

回答 (1 件)

Walter Roberson
Walter Roberson 2018 年 10 月 19 日
移動済み: Edric Ellis 2025 年 8 月 11 日

0 投票

x = cell(1, 1);
before the parfor.

カテゴリ

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

質問済み:

2018 年 10 月 19 日

移動済み:

2025 年 8 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by