如果我有一个32000行,51列的数据,我要从每列中挑选出从1250到1350之间的数据,一列一列的来挑选,每列挑选出来的数据存放到一个新的矩阵中,还是按列存放。而且把挑选出来的数据在原矩阵中的位置表示出来。怎么实现呢?每列在这个范围内的数据可能会不一样多。补充,1250到1350是矩阵中元素的大小范围,不是位置范围
Min = 1250; Max = 1350; ColumnNum = 51; OutputMember = cell(ColumnNum,1); OutputIndex = cell(ColumnNum,1); for i =1:ColumnNum tmp = Matrix(:,i);% tmp 列向量 index = find((tmp<Max)+(tmp>Min)); SelectedMember = tmp(index); OutputMember(i) = {SelectedMember}; OutputIndex(i) = {index}; end |
因为维数不同无法构成矩阵。。而用原包做就解决了这个问题。。 只是要利用这些数据的时候需要用cell2mat(Outputindex(i))并放到另一个变量中来做就行了。。