您的位置:首页 > 编程语言 > MATLAB

Matlab中保持原来数值顺序的unique函数实现

2011-10-11 10:12 1091 查看
      在matlab中使用unique函数获取某向量中不重复数值的集合时,默认会对这个集合中的元素排序。在某些应用场合当中,这种排序会带来某种不方便,这里实现了一个保持原来数值顺序的unique函数。

      程序代码

function uniVecUnsorted = unique_unsorted( vector )

uniValues = unique( vector );
mask = zeros( size( vector, 1 ), size( vector, 2 ) );

for i = 1 : length(uniValues);

maskValue = ( vector == uniValues(i) );
indFirst = find( vector == uniValues(i), 1, 'first' );
maskValue( indFirst + 1 : end ) = 0;

mask = mask | maskValue;
end

uniVecUnsorted = vector( mask );

end

      运行结果




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab vector function
相关文章推荐