有人可以帮助我在matlab中进行循环吗?

时间:2012-09-25 15:02:39

标签: matlab for-loop

我是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的值也应该增加 谢谢

1 个答案:

答案 0 :(得分:1)

不要为BPI使用这样的名称(即名称本身有增量的名称),请改用cell array

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

另见this post