trying to fill a matrix with threshold data
1 回表示 (過去 30 日間)
古いコメントを表示
my problem is simple i'm running a threshold through loop, and i want to store the idx in a matrix where each column represent the values after threshold. but because the amount of values in each column is not the same i'm facing the problem of indexing. my code looks like this
for (p=0.6:0.001:1.7); %threshold range
x1=find(x>p); %threshold value
cid=((p*1000)-5999); %trying to index
x2(:,cid)=x(x1); %trying to put threshold values to each column
end;
0 件のコメント
採用された回答
Andrei Bobrov
2012 年 6 月 7 日
t = bsxfun(@times,bsxfun(@gt,x,p),x);
x2 = arrayfun(@(ii)nonzeros(t(:,ii)),1:size(t,2),'un',0);
EDIT
out = bsxfun(@times,bsxfun(@gt,x,p),x)
or
out = bsxfun(@times,bsxfun(@gt,x,p),p)
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!