Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 并行计算:添加文件_Matlab_Parallel Processing - Fatal编程技术网

Matlab 并行计算:添加文件

Matlab 并行计算:添加文件,matlab,parallel-processing,Matlab,Parallel Processing,我需要parfor循环中的代码来访问/加载两个文件。不幸的是,这不起作用 我收到的错误消息是 Error using **parallel.Pool/addAttachedFiles** (line 23) Expected input number 1, pool, to be nonempty. 以下是我正在使用的代码的相关部分: parpool(16); parfor k = 1:length(filenames) tmpfile = filenames{k};

我需要parfor循环中的代码来访问/加载两个文件。不幸的是,这不起作用

我收到的错误消息是

Error using **parallel.Pool/addAttachedFiles** (line 23)
Expected input number 1, pool, to be nonempty.
以下是我正在使用的代码的相关部分:

parpool(16);
    parfor k = 1:length(filenames)

    tmpfile = filenames{k};
    file_VPn = dir(strcat(tmpfile));
    load(strcat(file_VPn(1).name));

    % Attach files
    poolobj = gcp;

    addAttachedFiles(poolobj,{'/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/elec_field_orig.mat',...
    '/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/grad_field_orig.mat'})


    %% Fix excluded sensors (!!this is where I need the attached files)

    data_segm_clean.elec = '/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/elec_field_orig.mat';
    data_segm_clean.grad = '/home/brainsig/Christine_fSON_MEG/Analysis_Code/elecs_grads_originfo/grad_field_orig.mat';

    % [.............] rest of the code
end

你能发现什么吗?谢谢

您需要在
parfor
循环之前调用
addAttachedFiles

您需要在
parfor
循环之前调用
addAttachedFiles

在parpool中加载文件:与@AnderBiguri不是一个好主意
addAttachedFiles
方法用于添加
.m
文件,而不是数据。对。尽管如此,还是会出现错误消息,因为
gcp
不会返回有效的池对象
poolobj
为空。打开并行池时出现问题…也许您可以尝试
poolobj=parpool(16)
而不在parfor中使用gcp?在parpool中加载文件:与@AnderBiguri不是一个好主意
addAttachedFiles
方法用于添加
.m
文件,而不是数据。对。尽管如此,还是会出现错误消息,因为
gcp
不会返回有效的池对象
poolobj
为空。打开并行池时出现了问题…也许您可以尝试
poolobj=parpool(16)
而不在parfor中使用gcp?