📄 shufflestates.m
字号:
function [sortsequence,map] = shufflestates(ipsequence,refsequence)% [sortsequence,map] = shufflestates(ipsequence,refsequence)%% shuffles state sequences such that a heuristically esimtated% permutation matrix between the label distributions is minised% % Input% ipsequence input label sequence% refsequence reference label sequence% (if missing uses ipsequence instead)% Output% sortsequence reshuffles input sequence% map mapping used for reshuffling%%ipsequence=ipsequence(:);ipclabels=unique(ipsequence);Kip=length(ipclabels);ipclabpdf=hist(ipsequence,ipclabels);if nargin<2 refclabpdf=sort(ipclabpdf); Kref=Kip;else refsequence=refsequence(:); refclabels=unique(refsequence); Kref=length(refclabels); refclabpdf=hist(refsequence,refclabels)end;map=[];for i=1:Kip, [tmp,pos]=min(abs(ipclabpdf(i)-refclabpdf)); if ~ismember(pos,map) map=[map pos]; endend;map=[map setdiff(1:Kip,map)];sortsequence=map(ipsequence);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -