0

私は Matlab の初心者です。まだ構文とすべてを学習しようとしています。大きなデータ マトリックス DI があり、大きなマトリックスの一部を削除して小さなマトリックスを作成しようとしています。3 つの列を検索し、数値を含むマトリックスを返しています。 3列で。

BPI20 = D(D(:,1) == 0 &D(:,2)==0 &D(:,6)==20,:);
BPI21 = D(D(:,1) == 0 &D(:,2)==0 &D(:,6)==21,:);
BPI22 = D(D(:,1) == 0 &D(:,2)==0 &D(:,6)==22,:);
BPI23 = D(D(:,1) == 0 &D(:,2)==0 &D(:,6)==23,:);
BPI24 = D(D(:,1) == 0 &D(:,2)==0 &D(:,6)==24,:);

変数 BPI の値も増加する上記のコードの for ループを書きたいと思います ありがとう

4

1 に答える 1

1

そのような名前を使用しないでくださいBPI(つまり、名前自体に増分がある名前)。代わりにセル配列を使用してください。

col1is0 = D(:,1)==0;
col2is0 = D(:,2)==0;

maxBPI = 24;
BPI = cell(maxBPI,1);
for ii=1:maxBPI
    BPI{ii} = D(col1is0 & col2is0 & D(:,6)==ii, :);
end

この投稿も参照してください!

于 2012-09-25T15:24:07.523 に答える