📄 sub_bipls_vector_limit.m
字号:
function ix_vector=sub_bipls_vector_limit(biplslimitModel,OrigVars,OrigIntervals)
% sub_bipls_vector_limit
% Input:
% biplslimitModel (outout from bipls_limit.m)
% 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=sub_bipls_Vector_Limit(biplslimitModel,OrigVars,OrigIntervals));
% Functions used: none
if nargin==0
disp(' ')
disp(' ix_vector=sub_bipls_vector_limit(biplslimitModel,OrigVars,OrigIntervals));')
disp(' ')
disp(' ix_vector=sub_bipls_vector_limit(biplslimitModel,926,20));')
disp(' ')
return
end
%int_ix=size(biplslimitModel.RevIntInfo,1); % New
for i=1:size(biplslimitModel.RevIntInfo,1)
if biplslimitModel.RevIntInfo(i)==0;
int_ix=i-1;
break
end
end
[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
out_vector=[];
for i=1:int_ix
out_vector=[out_vector allint(biplslimitModel.RevIntInfo(i),2):allint(biplslimitModel.RevIntInfo(i),3)];
end
ix_vector=(1:OrigVars);
ix_vector(out_vector)=[];
ix_vector=sort(ix_vector);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -