计算 for-if/else-statements 的结果并将其写入矩阵

Count results of for-if/else-statements and write it in matrix

我想在我的代码中存储 for 循环的结果(从“for o = 1:length(gwi)”开始),which statement("=a &

(简化的)代码如下:

for k = 1:722
    gwi = abs(wi);
    Liste = zeros(length(gwi),1);
    Liste2 = zeros(length(gwi),1);
    for o = 1:length(gwi)
        if gwi(o) < a;
           Liste(o) = 1;
           Liste2(o) = 1;
        elseif gwi(o) >= a & gwi(o) < b;
           Liste(o) = a / gwi(o);
           Liste2(o) = 2;
        elseif gwi(o) >= b & gwi(o) < c;
           Liste(o) =  a * ((c-gwi(o))/((c-b)*gwi(o)));
           Liste2(o) = 3;  
        else gwi(o) >= c;
           Liste(o) = 0;
           Liste2(o) = 4;   
        end
    end
end 

您可以将 ListeListe2 存储为二维矩阵而不是数组,因此

% Initialise List matrices before both loops
gwi = abs(wi);
N = 722;
Liste = zeros(length(gwi),N);  % Note "N" columns
Liste2 = zeros(length(gwi),N); % Note "N" columns

for k = 1:722
    for o = 1:length(gwi)
        if condition1
            Liste(o,k) = sin(o); % some calculation for condition 1
            Liste2(o,k) = 1;     % Condition number for index (o,k)
        elseif condition2
            Liste(o,k) = exp(o); % some calculation for condition 2
            Liste2(o,k) = 2;     % Condition number for index (o,k)
        % elseif ...
        end
    end
end

您的结果将是矩阵,其中每一列对应一个 k 循环,每一行对应 o 值。