八度-如何在输入文件中使用pararrayfun?

时间:2019-03-27 15:06:03

标签: loops parallel-processing octave

我是一个新的Octave用户。我的Octave版本是4.4.1。 我需要有关如何使用并行程序包的帮助。 我有一个函数modele_file,它接受​​包含文件路径的类结构作为输入。我必须加载该mat文件。此刻,八度表示我的输入未定义。 有人可以帮我找出我的代码中缺少的内容吗?

尽管我的功能可以通过其自身运行。我的首要任务是启动我的功能,我并不需要它在对象中注册。

最佳,


files = dir('./../data/*.mat');
[row col] = size(files);

for k = 1:1000
    name{k} = getfield(files, {k,1}, 'name');
end


fun_str = @(stg) strcat("./../data/", stg) ;
vec_name = arrayfun(fun_str, name) ;
vec_result = arrayfun(fun_str,  repmat({"result/"}, row,1)) ;

a = [vec_name, vec_result'] ;
struct_info = cell2struct(a, {"name", "result"}, 1);

solution = pararrayfun(nproc, modele_file, struct_info) 



以下是我的功能示例:

function modele = modele_file(info_struct)
  file = info_struct{1} ;
  path = info_struct{2} ; 

  load(strcat(file)) ;
  modele.X = zeros(2,2) ; 
  save('file.mat', 'modele') ;

0 个答案:

没有答案