フィルターのクリア

I want to extract half of the non-zero element of a matrix

1 回表示 (過去 30 日間)
BANI tita
BANI tita 2012 年 10 月 14 日
Hello, I have a matrix of the following form: [1,0,0,0;0,0,0,0;0,10,0,12;13,0,0,0], I need a mask that allows me to extract half of the data of each nonzero matrix of this form in this case for example I want the following result [1,0,0,0;0,0,0,0;0,10,0,0;0,0,0,0]

回答 (2 件)

Matt J
Matt J 2012 年 10 月 14 日
idx=find(A);
A(idx(2:2:end))=0;

Andrei Bobrov
Andrei Bobrov 2012 年 10 月 14 日
ii = 1:fix(nnz(A)/2);
At = A';
jj = find(At);
At(jj(fix(nnz(A)/2)+1:end)) = 0;
out = At';

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by