我有一个矩阵,列中填充零,我想将矩阵复制到一个新的矩阵,但跳过带有零的列.
有什么命令可以帮助我吗?我尝试用稀疏命令来做,但我真的不明白那里发生了什么.它会跳过零,但是当您想知道新矩阵中有多少列时,它仍会显示初始大小.
这很简单
>> noZeros = withZeros(:, any( withZeros, 1 ) )
Run Code Online (Sandbox Code Playgroud)
该命令any( withZeros, 1 )返回一个长度为的逻辑向量,size(A,2)其中true每列withZeros具有至少一个非零条目.
或者,您可以删除列
>> withZeros(:, all( withZeros == 0, 1 ) ) = [];
Run Code Online (Sandbox Code Playgroud)
小智 6
假设您有一个大小为100x100的随机矩阵
A = rand(100);
Run Code Online (Sandbox Code Playgroud)
让我们假设第15列为零
A(:,15) = 0;
Run Code Online (Sandbox Code Playgroud)
然后您可以删除此列
A=A(:,any(A))
Run Code Online (Sandbox Code Playgroud)