0

大きなコードがありますが、コードを実行するための for ループを作成したいです。私のコードは以下のとおりです。

A = zeros(1, 60) ;
C = A ;
D = A ;
F = A ;
.......


  if( sum(B) == 100 )
    A= A(1) + 1;

  elseif( sum(B) == (99) )
        C(1) = C(1) + 1;
  elseif( sum(B) == (98) )
        D(1) = D(1) + 1;
  elseif( sum(B) == (97) )
        E(1) = E(1) + 1;    
.........
end
O1=A;
O2=C;
O3=D;
O4=F;
O=[O1,O2,O3,O4]

sum(B)==1 を使用して条件全体を記述すると見た目が悪くなるため、チェックする必要があるelseifため、 a を使用しfor loopてこの条件を実行したいのですが、これはできません。

Matlab の専門家は、貴重な提案と支援を必要としています。

4

2 に答える 2

2

A, B, C...セル配列で置き換える方が良い場合: X{1}, X{2}, X{3},...:

X = cell(1,100); % change "100" as needed
[X{:}] = deal(zeros(1,60)); % initialize each cell as needed
X{101-sum(B)}(1) = X{101-sum(B)}(1) + 1; % or whatever operation is required here

前者A, B, C, ...がすべて同じサイズである場合は、セル配列の代わりに配列を使用できます。

于 2013-10-01T10:12:37.150 に答える