Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个用零填充的列的矩阵,我想将该矩阵复制到一个新矩阵中,但要跳过带有零的列。
有什么命令可以帮助我吗?我试图用 sparse 命令来做,但我真的不明白那里发生了什么。它会跳过零,但是当您想知道新矩阵中有多少列时,它仍会显示初始大小。
这很简单
>> noZeros = withZeros(:, any( withZeros, 1 ) )
该命令为其中至少有一个非零条目的每一列any( withZeros, 1 )返回一个长度的逻辑向量size(A,2)。truewithZeros
any( withZeros, 1 )
size(A,2)
true
withZeros
或者,您可以删除列
>> withZeros(:, all( withZeros == 0, 1 ) ) = [];
查看文档any并all了解更多信息。
any
all
假设您有一个大小为 100x100 的随机矩阵
A = rand(100);
假设第 15 列为零
A(:,15) = 0;
然后你可以删除这个列
A=A(:,any(A))