MATLAB中fetchOutputs函数用法
目录
语法
说明
示例
在后台运行函数
fetchOutputs函数的功能是从在后台运行的函数中检索结果。
语法
[Y1,...,Ym] = fetchOutputs(F)
[Y1,...,Ym] = fetchOutputs(F,UniformOutput=false)
说明
[Y1, ..., Ym] = fetchOutputs(F) 从 Future 数组 F 中检索出 m 个结果。
F 中的每个元素必须至少返回 m 个输出参数。要检查 Future 对象具有多少输出参数,请使用 NumOutputArguments 属性。
MATLAB® 会等待与 F 中的每个元素关联的函数完成,然后才从该元素中检索结果。当关联的函数完成时,Future 对象的 State 属性为 'finished'。当使用 fetchOutputs 时,MATLAB 会将 F 中每个元素的 Read 属性设置为 true。
在以下情况下创建 Future 对象:
- 使用 backgroundPool 在后台运行函数。
- 使用 Parallel Computing Toolbox™ 时,在并行池工作器上运行函数。
如果 F 是 Future 对象的数组,则从每个元素中提取的第 j 个输出连接在一起形成输出 Yj。只有在每个元素的第 j 个输出可以沿第一维连接时才使用此语法。
[Y1, ..., Ym] = fetchOutputs(F, UniformOutput=false) 从 Future 数组 F 中检索出 m 个结果,并将其作为单元数组返回。
如果 F 是 Future 对象的数组,则从每个元素中提取的第 j 个输出连接在一个单元数组中,形成输出 Yj。如果对于 Yj 的任何输出,无法沿第一维连接每个元素的输出,则使用此语法。
示例
在后台运行函数
此示例演示如何使用 parfeval 和 backgroundPool 在后台运行函数。在后台运行函数时,您可以同时运行其他 MATLAB® 代码。
使用 parfeval 运行函数 magic(3) 并检索一个输出。将 backgroundPool 指定为第一个参数,以在后台运行函数。使用 parfeval 时,您会创建一个 Future 对象。
f = parfeval(backgroundPool,@magic,1,3);
要检索后台任务的输出,请使用 fetchOutputs。一旦 magic 函数的执行完成,MATLAB 就会返回输出结果。
fetchOutputs(f)
ans = 3×3
8 1 6
3 5 7
4 9 2