Removing columns containing zeros
24 ビュー (過去 30 日間)
古いコメントを表示
I have a 2x500 matrix containing data. Some columns contain only zeros and I need to remove these (forming, say, a 2x460 matrix when 40 columns contained zeros).
Similar questions have been asked and answered about cell arrays which give commands such as:
m = m(cellfun(@ischar,m(:,1)),:);
These commands produce the error 'Input #2 expected to be a cell array, was double instead' when I use my matrix in place of 'm'
0 件のコメント
採用された回答
その他の回答 (1 件)
Andy
2018 年 5 月 20 日
If you've got a table w/ various variable names that you want to keep, you might do:
function pTable = aRemoveZeroTableColumns(primersTable)
%
%
%
pTable = primersTable;
indexes = [];
for i = 1:numel(primersTable.Properties.VariableNames)
column = primersTable{:,i};
if all(column == 0)
indexes = [indexes, i];
end
end
pTable(:,indexes) = [];
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!