Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab parfor不从两个功能同时打印到屏幕?_Matlab_Parfor - Fatal编程技术网

Matlab parfor不从两个功能同时打印到屏幕?

Matlab parfor不从两个功能同时打印到屏幕?,matlab,parfor,Matlab,Parfor,我正在尝试测试一个非常简单的parfor函数,它调用另外两个函数,每个函数打印一个数字:1和2,因此我希望它会以随机顺序将如下内容打印到控制台: 1. 2. 2. 1. 2. 1. 1. 二, 但它总是先完成一个函数,然后再完成另一个函数,并给我有序的输出: 1. 1. 1. 1. 2. 2. 2. 二, 所以对我来说,帕弗似乎不是平行的。。。 这是我的密码 function mainfunction(hObject, eventdata, handles) matlabpool ('open'

我正在尝试测试一个非常简单的parfor函数,它调用另外两个函数,每个函数打印一个数字:1和2,因此我希望它会以随机顺序将如下内容打印到控制台: 1. 2. 2. 1. 2. 1. 1. 二,

但它总是先完成一个函数,然后再完成另一个函数,并给我有序的输出: 1. 1. 1. 1. 2. 2. 2. 二,

所以对我来说,帕弗似乎不是平行的。。。 这是我的密码

function mainfunction(hObject, eventdata, handles)
matlabpool ('open',2); 
x=1;
y=2;
parfor i=1:2
    if(i==1)
        function1(x);
    else
        function2(y);
    end
end
matlabpool close;


function function1(x)
for i=1:100
    x
end

function function2(y)
for i=1:100
    y
end

有人知道为什么这不起作用吗?谢谢

技术原因是您没有手动将输出刷新到命令窗口<代码>暂停为系统提供了执行此操作的时间,但这可能有点麻烦,除非您不关心延迟是什么。通常使用的一种可能更快的方案是调用(
pause
隐式调用)。很好地总结了这个函数的用法。在某些情况下同时使用
drawnow
pause
。更有趣的是。

您的
函数1
函数2
执行得太快,看不到这一点。尝试在函数中添加
暂停
,您将看到您认为应该看到的行为。是的,这似乎是问题所在,谢谢