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,:);

我想为上面的代码写一个for循环,变量BPI的值也应该增加谢谢

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 回答