Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
Multithreading 嵌套并行While循环_Multithreading_Matlab_Parallel Processing_Multiprocessing_Matlab Guide - Fatal编程技术网

Multithreading 嵌套并行While循环

Multithreading 嵌套并行While循环,multithreading,matlab,parallel-processing,multiprocessing,matlab-guide,Multithreading,Matlab,Parallel Processing,Multiprocessing,Matlab Guide,我试图并行运行两个while循环,以便进行数据采集。 该程序将运行“n”num_试验,每个试验都有特定的试验持续时间 在每次试验期间,程序将收集数据,同时跟踪试验持续时间。例如,第一次试验在1秒时开始收集数据,在10秒时停止。这一过程将在剩余的试验中重复 如何并行运行这两个while循环 基本上,我只想要一个方法,一旦指定的试用期完成,它将打破第二个while循环 提前谢谢 count = 0; num_trials = 5; % Number of Trials = 5 Trials tria

我试图并行运行两个while循环,以便进行数据采集。 该程序将运行“n”
num_试验
,每个试验都有特定的试验持续时间

在每次试验期间,程序将收集数据,同时跟踪试验持续时间。例如,第一次试验在1秒时开始收集数据,在10秒时停止。这一过程将在剩余的试验中重复

如何并行运行这两个while循环

基本上,我只想要一个方法,一旦指定的试用期完成,它将打破第二个while循环

提前谢谢

count = 0;
num_trials = 5; % Number of Trials = 5 Trials
trial_duration = 10; % Trial Duration = 10 Seconds

global check 
check = 0;

% Number of Trials
for i = 1:num_trials

    fprintf('Starting Trial %i\n', i);

    t_start = tic;

    % Start counting and Collecting Data
    while toc(t_start) < trial_duration

        % Data Collection
        while (check ~= 1)  
            count = count +1;
        end

    end

    fprintf('Ending Trial %i\n', i);
end
count=0;
试验次数=5;%试验次数=5次试验
试验持续时间=10;%试验持续时间=10秒
全局检查
检查=0;
%审判次数
对于i=1:num_试验
fprintf('开始试用%i\n',i);
t_start=tic;
%开始计数和收集数据
而toc(试验开始)<试验持续时间
%数据收集
while(检查~=1)
计数=计数+1;
结束
结束
fprintf('结束试验%i\n',i);
结束

您是否尝试过使用带有
&&
的单个循环

while (toc(t_start) < trial_duration) && (check ~= 1)

        % Data Collection
        count = count +1;

end
while(toc(测试开始)
您指的是哪两个while循环?我认为您需要重新考虑如何存储数据。@jdero代码中只有while循环。第一个是定时器,第二个是数据采集。我现在不担心存储数据。你看过并行工具箱吗?@Marcin我试过parfor循环,但这对这个应用程序不起作用。我正在查看SPMD,但我不确定它们是否在单独的工作节点上独立计算。我需要第一个while循环在秒后停止第二个while循环。