我在Matlab中遇到并行计算问题。虽然我对PARFOR功能有点了解,但我没有找到一个全面的解决方案来解决我面临的问题,我将在下面介绍。 网络中有几组节点。 在main函数内部有一个类似于时间的for循环: 主要功能开始:
Statements…
k=100;
for i = 1:k
{
Statements …
Function A
Statements …
}
设有两组名为g1
和g2
的不同节点。在i=4
期间,功能A
由组g1
调用。因此,组g1
中的节点离开main函数并在函数A
内执行。主函数和函数A
应该从那时起同时执行(意味着在函数A
内,将会有另一个循环,它会持续几次(例如,10次)并且每次循环执行时, 'i'的值将增加1以保持与主函数同步的时间)。当这些活动正在进行时,此时在主函数内执行的另一组g2在i = 6时调用函数A.因此,类似于组g1,g2中的节点也离开主函数并以类似的方式在函数A内执行。因此,函数A的两个版本(具有不同的输入:g1和g2)在不同的时间(i = 4和i = 6)开始并且与主函数同时(在时间'i')运行。如何设计这样的问题? Matlab中有哪些确切的机制以及如何使用它们。你能指导我吗?
谢谢