📄 choosenumberofcomponents.m
字号:
function p = choosenumberofcomponents(signal,D,choosemethod,gamma,verbose);%choosenumberofcomponents - estimate number of components%% p = choosenumberofcomponents(signal,D,choosemethod,gamma,gamma);%% choosemethod = mdl|err|cluster (default=mdl)%% gamma - (default=1)% (gamma<0) - number of dimensions to use% (gamma>0)% (choosemethod=mdl) - mdlgamma% (choosemethod=err) - portion of signal to discard (0 none, 1 all)%% returns the which first p components most likely constitute the signal%% 01.08.03 - initial version% 01.11.04 - rewrite % Peter Grubererror(nargchk(2,5,nargin)) % check no. of input args[m,samples]=size(signal);if (nargin<3) choosemethod='mdl'; endif (nargin<4) gamma=1; endif (nargin<5) verbose=0; endV=sum(triu(D'));if (verbose > 3) plot(D'); title('Variances'); pause; endp=1;if (m==1) return; endswitch choosemethod case 'mdl' p=mdl(D,samples,gamma,verbose); case 'err' p=m; while (sum(V(1,p:m))<gamma*sum(V(1,:))) & (p>0) p=p-1; end; case 'abs' p=min(ceil(abs(gamma)),m); case 'num' p=min(max(abs(gamma),0),m); case 'cluster' if (gamma>0) [ce,cl]=kmeans_cluster('batch',V(1,:)',2); p=sum(cl==cl(1)); else [ce,cl]=cluster(V,2); p=sum(cl==cl(1)); endendreturn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -