📄 ulsrfix.m
字号:
function b=ulsrfix(x,MaxLoc);
%
% Copyright 1997
%
% Rasmus Bro
% Royal Veterinary & Agricultural University
% Denmark
% rb@kvl.dk
I=length(x);
if MaxLoc==1
b=monreg(flipud(x));
b=flipud(b);
break
elseif MaxLoc==I
b=monreg(x);
break
end
[b1,B1]=monreg(x(1:MaxLoc-1));
[b2,B2]=monreg(flipud(x(MaxLoc+1:I)));
GoOn=1;
if x(MaxLoc)>max(b1(MaxLoc-1),b2(I-MaxLoc))
b=[b1;x(MaxLoc);flipud(b2)];
else
Max=[x(MaxLoc) 1];
while GoOn
if max(size(B1))==0
maxB1=0;
else
maxB1pos=size(B1,1);
maxB1=B1(size(B1,1),:);
end
if max(size(B2))==0
maxB2=0;
else
maxB2pos=size(B2,1);
maxB2=B2(size(B2,1),:);
end
if maxB1(1)>Max(1) & maxB1(1)>=maxB2(1)
summ=B1(maxB1pos,2)+Max(2);
Max=[(maxB1(1)*maxB1(2)+Max(1)*Max(2))/summ summ];
B1=B1(1:size(B1,1)-1,:);
elseif maxB2(1)>Max(1) & maxB2(1)>=maxB1(1)
summ=B2(maxB2pos,2)+Max(2);
Max=[(maxB2(1)*maxB2(2)+Max(1)*Max(2))/summ summ];
B2=B2(1:size(B2,1)-1,:);
else
GoOn=0;
end
end
B=[B1;Max;flipud(B2)];
b=[];
for i=1:size(B,1)
b=[b;zeros(B(i,2),1)+B(i,1)];
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -