home *** CD-ROM | disk | FTP | other *** search
- function [tl,tm,tr,cl,cm,cr,nop] = initt(mat,blk,ts)
- [nr,nc] = size(mat);
- inc = max([abs(ts) 0.3]);
- nop = 0;
- if ts < 0
- tl = 2*ts;
- tm = ts;
- tr = 0;
- elseif ts > 0
- tl = 0;
- tm = ts;
- tr = 2*ts;
- else
- tl = -0.001;
- tm = 0;
- tr = 0.001;
- inc = 0.3;
- end
- mt = mat;
- ml = mat;
- mm = mat;
- mr = mat;
- ur = mat(1:blk(1,2),blk(1,1)+1:nc);
- ll = mat(blk(1,2)+1:nr,1:blk(1,1));
- ml(1:blk(1,2),blk(1,1)+1:nc) = exp(tl)*ur;
- ml(blk(1,2)+1:nr,1:blk(1,1)) = exp(-tl)*ll;
- mr(1:blk(1,2),blk(1,1)+1:nc) = exp(tr)*ur;
- mr(blk(1,2)+1:nr,1:blk(1,1)) = exp(-tr)*ll;
- mm(1:blk(1,2),blk(1,1)+1:nc) = exp(tm)*ur;
- mm(blk(1,2)+1:nr,1:blk(1,1)) = exp(-tm)*ll;
- cl = norm(ml);
- cm = norm(mm);
- cr = norm(mr);
- done = 0;
- while done == 0
- if cl >= cm
- if cm <= cr
- done = 1;
- else
- tl = tm;
- cl = cm;
- tm = tr;
- cm = cr;
- bestt = tr;
- tr = tr+inc;
- mr(1:blk(1,2),blk(1,1)+1:nc) = exp(tr)*ur;
- mr(blk(1,2)+1:nr,1:blk(1,1)) = exp(-tr)*ll;
- cr = norm(mr);
- end
- else
- tr = tm;
- cr = cm;
- tm = tl;
- cm = cl;
- bestt = tl;
- tl = tl-inc;
- ml(1:blk(1,2),blk(1,1)+1:nc) = exp(tl)*ur;
- ml(blk(1,2)+1:nr,1:blk(1,1)) = exp(-tl)*ll;
- cl = norm(ml);
- end
- if abs(bestt) > 8
- done = 1;
- tl = bestt;
- tm = bestt;
- tr = bestt;
- cl = cm;
- cr = cm;
- nop = -1;
- end
- end
- %
- % Copyright MUSYN INC 1991, All Rights Reserved
-