【发布时间】:2013-07-22 14:43:51
【问题描述】:
我正在使用 Matlab,但遇到以下问题。我有一个矩阵,比如说A
A =
1 0 0 1 0 0
1 0 1 0 0 0
我希望能够删除只有零但只有在最后一列之后至少有一个 1 的列,即第 5 列和第 6 列但不是第 2 列。我不能只做A(:,5)=[],因为在我的问题中我不知道哪些列有零,它们到底是。
【问题讨论】:
我正在使用 Matlab,但遇到以下问题。我有一个矩阵,比如说A
A =
1 0 0 1 0 0
1 0 1 0 0 0
我希望能够删除只有零但只有在最后一列之后至少有一个 1 的列,即第 5 列和第 6 列但不是第 2 列。我不能只做A(:,5)=[],因为在我的问题中我不知道哪些列有零,它们到底是。
【问题讨论】:
或者,用更少的行
b = A(:,1:find(any(A),1,'last'))
【讨论】:
试试这个
zerocols=sum(A,1)
b=A(:,1:find(zerocols~=0,1,'last'))
【讨论】: