Parallel processing 如何使用pararrayfun(或任何其他函数也可以)在倍频程中并行for循环?

Parallel processing 如何使用pararrayfun(或任何其他函数也可以)在倍频程中并行for循环?,parallel-processing,octave,Parallel Processing,Octave,嗯,我对倍频程不熟悉,我想知道如何在倍频程中实现for循环的并行执行 我正在寻找以下代码的并行实现(这不是我试图执行的确切代码,而是与此类似的代码) 目前,我正在使用并行pkg(pararrayfun)来实现这一点,但如果有任何其他方法(包)可以实现倍频程中for循环的并行化,那么我也愿意探索这一点 谢谢大家! 正如您所提到的,“官方”解决方案是并行pkg。为什么这对你不起作用?@tpapastylianou,很抱歉延迟回复。我在并行包中实现parcellfun()函数时遇到了以下问题。错误:p

嗯,我对倍频程不熟悉,我想知道如何在倍频程中实现for循环的并行执行

我正在寻找以下代码的并行实现(这不是我试图执行的确切代码,而是与此类似的代码)

目前,我正在使用并行pkg(pararrayfun)来实现这一点,但如果有任何其他方法(包)可以实现倍频程中for循环的并行化,那么我也愿意探索这一点


谢谢大家!

正如您所提到的,“官方”解决方案是并行pkg。为什么这对你不起作用?@tpapastylianou,很抱歉延迟回复。我在并行包中实现parcellfun()函数时遇到了以下问题。错误:parcellfun:fun必须是函数句柄或名称。这就是我如何调用parcellfun函数
parcellfun(nprocs、@processingData(array\u abc)、array\u abc、delta\u avg)
//这里的数组abc是输入数组,delta avg是输出数组,我想我的语法搞错了;如果你能帮我弄明白这一点,那会很有帮助的。好吧,在这里提供这个作为实际答案是没有意义的,因为这不是帖子中所问的实际问题,但是是的,实际上你使用的函数是错误的。
@processingData(array_abd)
不是此函数所期望的。您应该传入一个函数句柄,或者一个适当的匿名函数来处理您的输入。“官方”解决方案是并行pkg,正如您所提到的。为什么这对你不起作用?@tpapastylianou,很抱歉延迟回复。我在并行包中实现parcellfun()函数时遇到了以下问题。错误:parcellfun:fun必须是函数句柄或名称。这就是我如何调用parcellfun函数
parcellfun(nprocs、@processingData(array\u abc)、array\u abc、delta\u avg)
//这里的数组abc是输入数组,delta avg是输出数组,我想我的语法搞错了;如果你能帮我弄明白这一点,那会很有帮助的。好吧,在这里提供这个作为实际答案是没有意义的,因为这不是帖子中所问的实际问题,但是是的,实际上你使用的函数是错误的。
@processingData(array_abd)
不是此函数所期望的。您应该传入一个函数句柄,或者一个适当的匿名函数来处理您的输入。
`%read a csv file
 master_sheet = csv2cell('master_sheet.csv');

 delta = 0.001;
 nprocs= nproc();

%extract some values from the csv file and store it in the variables
a =  master_sheet{34,2} ;
b =  master_sheet{38,2} ;
c =  master_sheet{39,2} ;


for i=0:1000
  %%create variants of a,b and c by adding a delta value
   a_adj = a +(i)*delta ;
   b_adj = b +(i)*delta ;
   c_adj = c +(i)*delta ;

 %club all the above variables and put it to an array variable
 array_abc = [a_adj, b_adj, c_adj];

 %send this array as an argument/parameter to a function
 %processingData() function would essentially perform some series of calculation and would write the 
 %results onto a file   
 processingData(array_abc);
 endfor