我有一个矩阵
A= [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20]
我想对这个矩阵做一些计算。但实际上我并不需要所有的行。所以我必须在进行计算之前丢弃上面矩阵中的一些行。丢弃3行后,我们将有一个新的矩阵。
B= [1 2 3 4; 9 10 11 12; 17 18 19 20];
现在我必须使用B进行其他一些计算。那么如何从matlab中的矩阵中丢弃一些不需要的行呢?任何建议都会有所帮助。感谢。
答案 0 :(得分:3)
试试这个:(当要保留的行数较少时使用)
%// Input A
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20];
%// Rows (1-3,5) you wanted to keep
B = A([1:3, 5],:)
<强>输出:强>
B =
1 2 3 4
5 6 7 8
9 10 11 12
17 18 19 20
备选方案:(当丢弃的行数较少时使用)
%// rows 2 and 3 discarded
A([2,3],:) = [];
<强>输出:强>
>> A
A =
1 2 3 4
13 14 15 16
17 18 19 20
注意:此处(在备用方法中),输出会替换原始A
。因此,如果您以后需要,则需要备份A
。你可以在丢弃操作之前执行备份输入矩阵
%// Input A is backed up in B
B = A;
答案 1 :(得分:2)
您可以选择要保留的行的索引:
A([1,3,5],:)
ans =
1 2 3 4
9 10 11 12
17 18 19 20