【问题标题】:How to go to the other round of two loops at the same time?如何同时去另一轮两个循环?
【发布时间】:2018-06-17 19:37:12
【问题描述】:

如何同时去另一轮两个循环?

代码:

parameters = {'CT', 'Imp', 'F1', 'F2'};    
Time = {'T0', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6'};
for i_parameters = 1: numel(parameters)
    my_parameters = parameters{i_parameters};
    for i_Time = 1 : numel (Time) 
        my_time = Time{i_Time};
        for j = 1 : 7
            Difference.(my_parameters).(my_time) = [Diff.(my_parameters)(:,j); Diff.(my_parameters)(:,j+7); Diff.(my_parameters)(:,j+14); Diff.(my_parameters)(:,j+21); Diff.(my_parameters)(:,j+28)];
            DiffMean.(my_parameters).(my_time) = mean(Difference.(my_parameters).(my_time));
            Diffstd.(my_parameters).(my_time) = std(Difference.(my_parameters).(my_time));
        end 
    end
end

我想在每个回合离开循环ii_Time,同时我想申请:
i_Time = T0 然后j = 1 / i_Time = T1 然后j = 2 / i_Time = T2 然后j = 3 / i_Time = T3然后j = 4 / i_Time = T4 然后j = 5 / i_Time = T5 然后j = 6 / i_Time = T6 然后j = 7

【问题讨论】:

    标签: matlab for-loop


    【解决方案1】:

    其实很简单。我费心创建一个变量j,虽然它没用。

    这是有效的代码:

    parameters = {'CT', 'Imp', 'F1', 'F2'};
    Time = {'T0', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6'};
    for i_parameters = 1: numel(parameters)
        my_parameters = parameters{i_parameters};
        for i_Time = 1 : numel (Time)
            my_time = Time{i_Time};     
            Difference.(my_parameters).(my_time) = [Diff.(my_parameters)(:,i_Time); Diff.(my_parameters)(:,i_Time+7);
                Diff.(my_parameters)(:,i_Time+14); Diff.(my_parameters)(:,i_Time+21);
                Diff.(my_parameters)(:,i_Time+28)];
            DiffMean.(my_parameters).(my_time) = mean(Difference.(my_parameters).(my_time));
            Diffstd.(my_parameters).(my_time) = std(Difference.(my_parameters).(my_time));
        end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      相关资源
      最近更新 更多