フィルターのクリア

How to delete columns of a matrix that have fewer than 3 non-zero elements

3 ビュー (過去 30 日間)
osminbas
osminbas 2012 年 3 月 1 日
Hello,
How can I delete columns of a matrix that have fewer than 3 non-zero elements? Thank you!
  4 件のコメント
osminbas
osminbas 2012 年 3 月 1 日
Yes, that is what I meant. Fewer than 3 non-zero elements.
osminbas
osminbas 2012 年 3 月 1 日
I can define it as matrix A is 5x5. Say two columns (column 1 and 3) have only 2 non-zero elements.

サインインしてコメントする。

採用された回答

Wayne King
Wayne King 2012 年 3 月 1 日
Hi, I'm sure this isn't the most efficient way:
x =[
5 0 1 4 1
3 0 0 2 1
1 0 2 2 4
4 3 0 2 3
4 2 0 1 3];
for nn =1:size(x,2)
numz(nn) = length(find(x(:,nn)==0));
end
x(:,numz>2) = [];
  1 件のコメント
osminbas
osminbas 2012 年 3 月 1 日
Actually I did this:
for nn =1:size(x,2)
numz(nn)=length(find(x(:,nn)~=0));
end
x(:,numz<3)=[];
It worked! Thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by