使用matlab从我的数组中删除一行

时间:2013-12-14 23:56:13

标签: arrays matlab

我有一个数组X(向量数组),由2行和3列组成。

 a1=[1 2 3]; 
 b1=[2 5 4];
 c1=[2 2 4];

 a2=[1 6 5];
 b2=[1 6 4];
 c2=[4 5 7];

 X= {a1,b1,c1 ; a2,b2,c2};

假设我从数组(a1, b1 and c1)中选择第一行X

[m n]=size(X); % m=2 and n=3
selected_line = X(1, 1:n);

如何在没有第一行的情况下重写相同的X?换句话说,如何从表中删除所选行以获取上述数组{a2, b2, c2}而不是X

1 个答案:

答案 0 :(得分:3)

通常,您可以通过“分配”空矩阵来删除矩阵或单元格数组中的行或列,或者向量中的条目(请参阅例如herehere )。因此,在您的情况下,要删除第一行单元格数组X,请使用

X(1,:) = []; %// remove first row

另一种可能性是指定保留哪些行,而不是删除哪些行:

X = X(2:end,:); %// take from row 2 to last