⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ulsrfix.m

📁 numerical analysis code
💻 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 + -