主要内容

afterEach

在每个函数在后台运行完毕后运行函数

    描述

    例子

    B= afterEach (一个fcnn运行函数fcn中的每个元素后自动地未来数组一个完成并返回未来对象B

    MATLAB®运行函数fcn中的每个元素的输出一个.如果未来数组一个元素,MATLAB运行函数次了。当预定的函数fcn完成的th一次,未来对象B完成。

    有关使用的更多信息afterEach若要在函数在并行池上运行后再运行函数,请参见使用afterEach和afterAll来运行回调函数(并行计算工具箱)

    如果有任何元素一个遇到错误时错误的属性B单元格数组的元素个数是否与一个

    B= afterEach (一个fcnnPassFuture = true)运行fcn使用每个元素一个而不是每个元素的输出一个

    错误的属性B是否空单元格数组,即使有一个或多个元素一个遇到一个错误。

    例子

    全部折叠

    这个例子展示了如何使用afterEach调度回调函数在函数在后台运行后运行。

    使用parfeval要运行函数兰特(1)并检索一个输出。指定backgroundPool作为在后台运行函数的第一个参数。重复10次,创建10个未来对象。

    i = 1:10 f(i) = parfeval(backgroundPool,@rand, 1,1);结束

    在每一个未来完成后,使用disp函数。的输入参数disp输出参数是否来自每一个未来.的第三个参数afterEach函数作为0回调函数不返回任何输出。

    afterEach (f @disp 0);

    这个例子展示了如何使用afterEach用在后台运行的函数的进度更新等待栏。

    创建一个等待栏,w

    w = waitbar (0,“请等待…”);

    设置您的迭代次数循环,N.存储当前已完成迭代的数量,0,和总迭代次数,N,在用户数据属性。

    N =20.;w.UserData = [0 N];

    运行一个循环与N迭代。在每次迭代中,使用parfeval而且backgroundPool运行暂停在后台随机播放几秒。存储每个未来对象。

    i = 1:N delay = rand;f (i) = parfeval (backgroundPool @pause 0,延迟);结束

    使用helper函数updateWaitbar在每个之后更新等待栏未来完成。

    afterEach (f, @ (~) updateWaitbar (w), 0);

    使用删除关闭等待栏后所有的未来对象完成。

    毕竟(f, @(~)删除(w), 0);

    定义辅助函数

    定义辅助函数updateWaitbar.函数的第一个元素加1用户数据属性,然后使用向量来计算进度。

    函数updateWaitbar (w)使用UserData属性更新一个等待栏。检查等待栏是否是对已删除对象的引用如果isvalid (w)增加已完成迭代的数量w.UserData(1) = w.UserData(1) + 1;%计算进度progress = w.UserData(1) / w.UserData(2);更新等待栏waitbar(进步,w);结束结束

    输入参数

    全部折叠

    输入未来对象,指定为平行的。未来标量或数组。

    MATLAB运行函数fcn在每个元素之后一个完成。如果有任何元素一个遇到错误并指定PassFuture作为真正的afterEach仍在运行fcn使用该元素。

    • 如果您指定PassFuture作为真正的, MATLAB运行fcn (Aj)在每一个未来元素Aj一个完成。

      错误的属性B是否空单元格数组,即使有一个或多个元素一个遇到一个错误。

    • 否则,MATLAB运行Xm fcn (X1,…)使用输出X1,…,Xm从每个未来元素一个随着元素的结束。

      如果有任何元素一个遇到错误并指定PassFuture作为真正的,错误的属性B单元格数组的元素个数是否与一个

    如果未来数组元素,MATLAB运行函数次了。当预定的函数fcn完成,未来对象B完成。

    例子:一个= parfeval (backgroundPool @magic 1、3);

    要运行的回调函数,指定为函数句柄。

    例子:fcn = @magic

    输出参数的个数,指定为非负整数标量。

    • 如果您指定PassFuture作为真正的n运行时是否请求输出参数的数量fcn ((j))每个元素使用(j)未来数组一个

    • 否则,n运行时是否请求输出参数的数量fcn (Y1,…,Ym)使用输出日元…,从每个元素Aj未来数组一个

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

    输出参数

    全部折叠

    输出未来对象返回平行的。未来对象。

    • 使用fetchOutputs检索的结果B

    • 使用afterEach毕竟当。运行一个函数B完成。

    当您设置PassFuture,您更改错误的属性B

    • 如果PassFuture真正的,错误的属性B是否空单元格数组,即使有一个或多个元素一个遇到一个错误。

    • 否则,如果其中的任何元素一个遇到错误时错误的属性B单元格数组的元素个数是否与一个

    另请参阅

    ||