orderselect.m
来自「剑桥大学用于线性和双线性动力学系统辨识的工具箱」· M 代码 · 共 50 行
M
50 行
function n = orderselect(order,SIGMA)%ORDERSELECT Select the model order.%% Used in the functions BILINID and SUBID3B. %% CUED System Identification Toolbox.% Cambridge University Engineering Department.% Copyright (C) 1998-2002. All Rights Reserved.% Version 1.00, Date: 01/06/2002% Created by H. Chen and E.C. Kerrigan. if isempty(order); % no order is given as input n = min(rank(SIGMA),10); disp(['Model order n = ',int2str(n),'.'])else kk = length(order); if kk > 1 order = sort(order(:)); eigvalue = zeros(1,kk); for kkk=1:kk try eigvalue(kkk) = SIGMA(order(kkk),order(kkk)); catch error('The block size is is incompatible with this choice of order.') end end eigvalue = log(eigvalue); %plot(order,eigvalue,'k*') bar(order,eigvalue) axis([min(order)-1 max(order)+1 min(eigvalue)*.9 max(eigvalue)*1.1]) title('Model Order Selection') xlabel('Model order') ylabel('Log singular value') n = input('Please select model order: '); if isempty(n) n = min(rank(SIGMA),10); disp(['Model order n = ',int2str(n),'.']) else if ~(n > 0 & fix(n) == n) error('Model order must be a positive integer.') end end close(gcf) else n = order; end end% *** last line of orderselect.m ***
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?