bipls_vector.m
来自「一些偏最小二乘法(PLS)间隔偏最小二乘(siPLS)联合区间偏最小二乘等的建模」· M 代码 · 共 42 行
M
42 行
function ix_vector=bipls_vector(biplslimitModel,OrigVars,OrigIntervals)
% bipls_vector
% Input:
% biplslimitModel
% OrigVars: number of original variables (e.g. 926)
% OrigIntervals: number of original intervals (e.g. 20)
% Output:
% ix_vector: index of the variables selected
%
% ix_vector=bipls_vector(biplslimitModel,OrigVars,OrigIntervals);
if nargin==0
disp(' ')
disp(' ix_vector=bipls_vector(biplslimitModel,OrigVars,OrigIntervals);')
disp(' ')
disp(' ix_vector=bipls_vector(biplslimitModel,926,20));')
disp(' ')
return
end
ix=find(biplslimitModel.RevVars<400);
ix=biplslimitModel.RevIntInfo(ix);
[nint,mint]=size(OrigIntervals);
if mint > 1
allint=[(1:round(mint/2)+1)' [OrigIntervals(1:2:mint)';1] [OrigIntervals(2:2:mint)';OrigVars]];
OrigIntervals=round(mint/2);
else
vars_left_over=mod(OrigVars,OrigIntervals);
N=fix(OrigVars/OrigIntervals);
% Distributes vars_left_over in the first "vars_left_over" intervals
startint=[(1:(N+1):(vars_left_over-1)*(N+1)+1)'; ((vars_left_over-1)*(N+1)+1+1+N:N:OrigVars)'];
endint=[startint(2:OrigIntervals)-1; OrigVars];
allint=[(1:OrigIntervals+1)' [startint;1] [endint;OrigVars]];
end
ix_vector=[];
for i=1:size(ix,1)
ix_vector=[ix_vector allint(ix(i),2):allint(ix(i),3)];
end
ix_vector=sort(ix_vector);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?