主要内容

后到达

在每个功能完成后运行后运行功能

    描述

    例子

    b= aftereach(一种,,,,FCN,,,,n运行功能FCN在每个元素中自动自动未来大批一种完成并返回未来目的b

    MATLAB®运行功能FCN使用来自每个元素的输出一种。如果是未来大批一种拥有m元素,MATLAB运行该功能m时代。当计划的功能FCN完成mTh时间,未来目的b完成。

    有关使用的更多信息后到达要在平行池上完成运行后运行功能,请参阅使用AfterEACH和AWEALL运行回调功能(并行计算工具箱)

    如果有任何元素一种遇到错误,错误财产的b是一个单元格数组,具有与一种

    b= aftereach(一种,,,,FCN,,,,n,passfuture = true)运行FCN一种而不是每个元素的输出一种

    错误财产的b是一个空的单元格数组,即使中有一个或多个元素一种遇到错误。

    例子

    全部收缩

    此示例显示了如何使用后到达安排回调函数以在功能完成后运行后运行。

    采用帕菲瓦尔运行功能兰德(1)并检索一个输出。指定背景池作为在后台运行该函数的第一个参数。重复10次创建10未来对象。

    为了i = 1:10 f(i)= parfeval(backgroundPool,@rand,1,1);结尾

    每个之后未来完成,使用disp功能。输入参数disp是每个的输出参数未来。将第三个参数指定到后到达功能为0要返回回调的输出。

    Aftereach(f,@disp,0);

    此示例显示了如何使用后到达更新一个等待栏,以便在后台运行功能的进度。

    创建一个等待栏,w

    w = waitbar(0,'请稍等 ...');

    为您的迭代设置迭代次数为了-环形,n。存储当前已完成迭代的数量,0,以及迭代的总数,n, 在里面用户数据等待栏的财产。

    n =20;w.userdata = [0 n];

    运行为了- 环n迭代。在每次迭代中,使用帕菲瓦尔背景池跑步暂停在背景中随机数秒。存储每个未来数组中的对象。

    为了i = 1:n delay = rand;f(i)= parfeval(backgroundpool,@pause,0,delay);结尾

    使用助手功能UpdateWaitbar每次更新等待还是未来完成。

    Aftereach(f,@(〜)UpdateWaitbar(W),0);

    采用删除在所有之后关闭等待吧未来对象完成。

    ellawall(f,@(〜)delete(w),0);

    定义辅助功能

    定义辅助功能uPDATEWAITBAR。功能递增该功能的第一个元素用户数据属性,然后使用向量计算进度。

    功能UPDATEWAITBAR(W)%使用userData属性更新侍应栏。%检查等待手是否是对已删除对象的引用如果伊斯瓦利德(w)%增加完成的迭代次数w.userdata(1)= w.userdata(1) + 1;%计算进度progress = w.userdata(1) / w.userdata(2);%更新等待还是侍应布(进度,w);结尾结尾

    输入参数

    全部收缩

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

    MATLAB运行该功能FCN在每个元素之后一种完成。如果有任何元素一种遇到错误,您指定passfuture作为真的,,,,后到达仍然运行FCN使用该元素。

    • 如果指定passfuture作为真的,Matlab运行FCN(AJ)每个之后未来元素AJ一种完成。

      错误财产的b是一个空的单元格数组,即使中有一个或多个元素一种遇到错误。

    • 否则,MATLAB运行FCN(x1,...,xm)使用输出x1,...,xm从每个未来元素在一种随着元素的完成。

      如果有任何元素一种遇到错误,您指定passfuture作为真的, 这错误财产的b是一个单元格数组,具有与一种

    如果是未来数组有m元素,MATLAB运行该功能m时代。当计划的功能FCN完成,未来目的b完成。

    例子:a = parfeval(BackgroundPool,@Magic,1,3);

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

    例子:fcn = @magic

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

    • 如果指定passfuture作为真的,,,,n是运行要求的输出参数数量FCN(A(J))使用每个元素A(J)在里面未来大批一种

    • 除此以外,n是运行要求的输出参数数量FCN(Y1,...,YM)使用输出Y1,...,YM从每个元素AJ在里面未来大批一种

    数据类型:单身的|双倍的|int8|INT16|INT32|INT64|UINT8|UINT16|UINT32|Uint64

    输出参数

    全部收缩

    输出未来对象,返回为并行目的。

    • 采用获取图b

    • 采用后到达或者毕竟在运行功能时b完成。

    当您设置时passfuture,你改变了错误财产的b

    • 如果passfuture真的, 这错误财产的b是一个空的单元格数组,即使中有一个或多个元素一种遇到错误。

    • 否则,如果一种遇到错误,错误财产的b是一个单元格数组,具有与一种

    也可以看看

    ||