use*_*027 1 arrays matlab loops matrix
我在MATLAB中有一个矩阵如下:
A = [ 0, 0, 0;
1, 2, 3;
4, 2, 3;
0, 0, 0;
1, 3, 4 ];
Run Code Online (Sandbox Code Playgroud)
我想从第1行和第4行中删除零,这样我就可以得到以下矩阵:
B = [ 1, 2, 3;
4, 2, 3;
1, 3, 4 ];
Run Code Online (Sandbox Code Playgroud)
我做的是以下内容:
for i = 1:length(A)
if (sum(A(i, :)) == 0)
A(i, :) = [];
end
end
Run Code Online (Sandbox Code Playgroud)
我知道问题是A
大小正在发生变化,这就是问题所在.不幸的是,我无法解决它.你能给我一些提示吗?
如果你想删除零和的行,这可能有帮助,
A(sum(A,2)==0,:)=[];
Run Code Online (Sandbox Code Playgroud)
如@LuisMendo所述,您可以使用
A(all(A,2)==0,:)=[];
Run Code Online (Sandbox Code Playgroud)
取决于您的标准.