home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l455 / 2.ddi / MUTOOLS2.DI$ / MK_PERT.M < prev    next >
Encoding:
Text File  |  1993-03-11  |  787 b   |  33 lines

  1. %function rv = mk_pert(az,bw,nblk,blk,blkp,lb)
  2. %    Makes a row vector perturbation from lower
  3. %    bound data.
  4. function rv = mk_pert(az,bw,nblk,blk,blkp,lb)
  5.  if lb <= 0
  6.    rv = [];
  7.  else
  8.    rv = [];
  9.    for i=1:nblk
  10.      if blk(i,2) == 0
  11.     if abs(az(blkp(i,2),1)) > 10*eps
  12.             rv = [rv bw(blkp(i,1),1)/az(blkp(i,2),1)];
  13.       else
  14.             rv = [rv 1];            
  15.     end %if az(
  16.      else
  17.        av = az(blkp(i,2):blkp(i+1,2)-1,1);
  18.        bv = bw(blkp(i,1):blkp(i+1,1)-1,1);
  19.        tmp = bv*av';
  20.        sclfac = norm(bv)*norm(av);
  21.     if sclfac > 10*eps
  22.            tmp = tmp / sclfac;
  23.     end %if sclfac
  24.        for j=1:blk(i,1)
  25.          rv = [rv tmp(j,:)];
  26.        end
  27.      end
  28.    end
  29.    rv = (1.0/lb)*rv;
  30.  end
  31. %
  32. % Copyright MUSYN INC 1991,  All Rights Reserved
  33.