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

  1. %function [dl,dr] = mkdfrv(d,blk,diml,dimr)
  2. function [dl,dr] = mkdfrv(d,blk,diml,dimr)
  3.  [nblk,dum] = size(blk);
  4.  dl = zeros(diml); dr = zeros(dimr);
  5.  pl = 1; pr = 1; loc = 1;
  6.  for i=1:nblk
  7.    if blk(i,2) == 0
  8.      tmp = zeros(blk(i,1),blk(i,1));
  9.      for j=1:blk(i,1)
  10.        tmp(j,:) = d(loc:loc+blk(i,1)-1);
  11.        loc = loc + blk(i,1);
  12.      end
  13.      plp = pl + blk(i,1) - 1; prp = pr + blk(i,1) - 1;
  14.      [u,s,v] = svd(tmp);
  15.      dl(pl:plp,pl:plp) = v*s*v';
  16.      dr(pr:prp,pr:prp) = v*s*v';
  17.      pl = plp + 1; pr = prp + 1;
  18.    else
  19.      plp = pl + blk(i,2) - 1; prp = pr + blk(i,1) - 1;
  20.      dl(pl:plp,pl:plp) = eye(blk(i,2))*abs(d(loc));
  21.      dr(pr:prp,pr:prp) = eye(blk(i,1))*abs(d(loc));
  22.      pl = plp + 1; pr = prp + 1; loc = loc + 1;
  23.    end
  24.  end
  25. %
  26. % Copyright MUSYN INC 1991,  All Rights Reserved
  27.