亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ssv.m

?? MFD-多變量系統頻域設計工具
?? M
字號:
function [mu,d,nsteps,grad]=ssv(a,k,d,max,tol,verbose);
%SSV Structured singular value (at one frequency).   
%       [mu,d,nsteps,grad] = ssv(a,k,d,max,tol,verbose)
%                       mu = ssv(a,k)
% Calculates the structured singular value (mu) of a square complex
% matrix. Block perturbations are allowed, but not correlated.
% Input arguments:
%       a  nxn complex matrix whose SSV is to be computed.
%       k  vector of m block sizes, such that sum(k) == n.
%                                       ( Default: ones(1,n) )
%       d  vector of m initial scaling numbers. ( Default: ones(1,m) )
%     max  maximum number of hill-climbing steps. (Default: 100)
%     tol  convergence criterion. (Default: 1e-6)
% verbose  1 if diagnostic information to be output, 0 otherwise.
%                                                       (Default: 1)
% Output arguments:
%      mu  an upper bound for the structured singular value
%       d  vector of m optimal scaling numbers. ( d(1) == 1 always)
%  nsteps  number of hill-climbing steps taken
%    grad  gradient vector at termination

% Copyright (C) 1989 by Cambridge Control Ltd. J.M.Maciejowski,7.8.1989.
% Corrected by JMM, 8.9.89.
% Acknowledgement:
% This function is based on a file supplied by M.Steinbuch of Philips
% Research Lab., Eindhoven, The Netherlands, which was in turn based on
% a NASA MatrixX routine. It has been subsequently modified extensively
% by J.M.Maciejowski at Cambridge Control Ltd to allow non-scalar blocks,
% to improve the interface and error-checking, the speed, the termination
% criteria, and the documentation.

%%%%%  Check input arguments and assign defaults:
nargchk(nargin,1,6);
[n,nc]=size(a); if n ~= nc, error('Input matrix must be square'), end;
if nargin<6, verbose = 1; end;
if nargin<5, tol = 1e-6; end;
if nargin<4, max = 100; end; % NB 'max' is now a variable,not function!
if nargin<3, 
  if nargin<2, k = ones(1,n); end;
  d = ones(1,length(k));
end;
if any(k<1), error('Block sizes must be positive integers'), end;
if sum(k)~=n, error('Sum of block sizes must equal size of matrix'), end;
if length(d)~=length(k), 
  error('Length of scaling vector (d) must equal the number of blocks'),
end
if any(d==0), error('Zero elements not allowed in d vector'), end;
if any(imag(d)~=0) | any(real(d)<0),
  d = abs(d);
  if verbose, 
    disp('Warning: Imaginary or negative elements in d vector')
    disp('         have been replaced by their magnitudes.   ')
  end
end
%%%%% End of input argument checks
%
%%%%% Deal with the 1 block case: (This added 8.9.89.)
if length(k) == 1, 
  mu = svd(a);  mu = mu(1);
  d = 1;  nsteps = 0;  grad = [];
  if verbose, 
    disp('SSV: Only 1 block. No hill climbing required.')
    mu
  end;
  return;
end
%%%%% End of 1 block case
%
%%%%% Define some variables:
m = length(k);  % m is the number of blocks
d=d(:)/d(1);  % d is now a column vector with d(1)==1
maxsigo=10000;  % Initial upper bound for SSV
perf=100;  % Initial value of convergence indicator
continue=1;  icount=0;
if verbose,  disp('SSV:   Step     mu     norm(grad)     perf'); end;
%%%%% End of initial definitions
%
%%%%% Begin hill-climbing loop:
while continue,
  %%%%% Begin gradient computation:
  temp = [];  grad = [];  % Clear variables 
  for i = 1:m, temp = [temp; d(i)*ones(k(i),1)]; end;
  dd = diag(temp);  % dd is now an nxn diagonal matrix
  dda=dd*a;  addi=a/dd;  dadi=dd*addi;
  [u,svv,v]=svd(dadi);
  maxsig=svv(1);
  for kk=2:m,   % This FOR loop assumes svv(1)~=svv(2). 
		% See Freudenberg etal (Int.Jnl.Contr. 1982).
	index = [sum(k(1:kk-1))+1 : sum(k(1:kk))];
	onevec = ones(length(index),1);
	ddk = zeros(n,1); didk = ddk;
	ddk(index) = onevec;   didk(index) = -onevec*d(kk)^(-2);
	ddk = diag(ddk);  didk = diag(didk);
	gradk=real(u(:,1)'*(ddk*addi+dda*didk)*v(:,1));
	grad=[grad;gradk]; 
  end;
  %%%%% End of gradient computation
  %
  if verbose,
    fprintf('       %3.0f  %10.3e %10.3e',icount,maxsig,norm(grad));
    fprintf('  %10.3e\n',perf);
  end;
  icount = icount + 1;
  %
  %%%%% Begin Quasi-Newton step:
  %%%%% Begin determination of search direction:
  if icount==1, newhess = 1; maxsigo = maxsig; end;
  if newhess,   % Reset Hessian, take one steepest descent step.
    hh=eye(m-1);  newhess = 0; 
  else
    y=grad-grado;
    temp=norm(y);
    if temp < 0.1e-12   
      [dum1,dum2]=size(y);
      y=0.1e-12*ones(dum1,dum2);
    end;
    aa=(deld*deld')/(deld'*y);
    bb=-(hh*y*y'*hh)/(y'*hh*y);
    hh=hh+aa+bb;
  end; 
  delds=-hh*grad;
  grado=grad;
  %%%%% End of search direction determination
  %
  %%%%% Begin line search:
  kappa=1;
  % Try to avoid nonpositive weights:
  dm=d(2:m)+kappa*delds; % d(1) remains unchanged
  [mindm,h] = min(dm);
  if mindm <= 0,
	kappa=abs(.5*d(h+1)/delds(h)); % New step size 
  end;
  % Line search until maxsig is at least as small as before:
  tryagain = 1;
  while tryagain == 1,
    temp = [];
    dd=[1;d(2:m)+kappa*delds];
    for i = 1:m, temp = [temp; dd(i)*ones(k(i),1)]; end;
    dd = diag(temp);
    dda=dd*a; addi=a/dd; dadi=dd*addi;
    svv=svd(dadi);  maxsig=svv(1);
    if maxsig > maxsigo,
      kappa=kappa/2;
    else
      tryagain = 0;
    end;
  end;
  %%%%% End of line search
  %
  %%%%% Update scaling parameter vector d:
  deld=kappa*delds;
  d(2:m) = d(2:m)+deld;
  %
  %%%%% Check for convergence:
  perf=(maxsigo-maxsig)/maxsig;
  maxsigo=maxsig;
  if icount>m,
    if perf < tol,  % See 'Practical Optimization', Gill,Murray and
      if norm(grad) <= tol^(1/3)*(1+maxsig),     % Wright, page 306
	continue=0;
      else           % Line search can't find a much better point, but
	newhess = 1; % the gradient not yet small. So try a different
      end;           % direction - try one steepest descent step.
    end;
  end;
  if icount==max, continue=0; end;  % Terminate without convergence
end;
%%%%% End of hill-climbing loop
%
%%%%% Finish off:
mu = maxsig;
nsteps = icount;
if verbose,
  fprintf('       %3.0f  %10.3e     NaN   ',nsteps,mu);
  fprintf('  %10.3e\n',perf);
  if nsteps==max, disp('SSV: Not converged yet'),end
end;


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区精品| 另类成人小视频在线| 久草精品在线观看| av在线综合网| 国产精品乱码久久久久久| 精品一区二区三区久久久| 欧美日韩一区二区三区四区 | 欧美三级韩国三级日本三斤| 国产精品电影院| 99精品国产热久久91蜜凸| 国产精品久久久久影院亚瑟 | 亚洲一区二区影院| 欧美电影在线免费观看| 日本视频在线一区| 国产三级精品视频| 在线观看免费视频综合| 亚洲成人免费在线观看| xf在线a精品一区二区视频网站| 丁香亚洲综合激情啪啪综合| 国产精品入口麻豆九色| 在线观看91视频| 国产激情一区二区三区四区 | 在线视频国内一区二区| 奇米影视7777精品一区二区| 久久精品人人做人人爽97| 色狠狠一区二区| 国产精品一卡二卡| 久久久久久久久一| 日韩和欧美一区二区三区| 久久综合一区二区| 欧美在线观看一二区| 国产在线精品一区二区夜色| 国产馆精品极品| 亚洲国产日韩一级| 在线观看视频欧美| 亚洲成人高清在线| 亚洲欧美综合网| 久久久久久黄色| 7777精品久久久大香线蕉| 91色九色蝌蚪| 成人永久免费视频| 国内精品免费在线观看| 免费在线看一区| 亚洲成va人在线观看| 亚洲婷婷综合色高清在线| 国产亚洲精品久| 久久精品视频一区二区| 久久九九99视频| 久久影院午夜片一区| 精品国产乱码久久久久久浪潮| 日韩一区二区三区av| 制服丝袜亚洲色图| 日韩精品一区二区三区swag| 日韩欧美国产精品一区| 久久久综合网站| 一区二区三区高清不卡| 国产精品国产三级国产有无不卡| 中文字幕欧美激情一区| 久久精品国产久精国产爱| 图片区小说区区亚洲影院| 日韩av电影天堂| 国产一区二区免费视频| 成人黄色av电影| 欧美日韩在线直播| 欧美xxxx在线观看| ...中文天堂在线一区| 一区二区三区欧美日韩| 免费在线观看一区| 成人黄色在线视频| 在线中文字幕不卡| 精品国产第一区二区三区观看体验 | 精品久久久三级丝袜| 国产女同性恋一区二区| 天堂蜜桃一区二区三区| 国产精品一区二区x88av| 欧美日韩一区二区欧美激情| 精品88久久久久88久久久| 亚洲曰韩产成在线| 国产91丝袜在线播放0| 制服丝袜中文字幕一区| 国产精品超碰97尤物18| 韩国成人精品a∨在线观看| 99re免费视频精品全部| 精品少妇一区二区三区免费观看| 自拍av一区二区三区| 国产很黄免费观看久久| 日韩一级二级三级| 日本aⅴ精品一区二区三区| 一本一道久久a久久精品综合蜜臀| 久久久久久麻豆| 蓝色福利精品导航| 亚洲宅男天堂在线观看无病毒| 日韩成人精品在线| 精品一区二区三区香蕉蜜桃 | 色综合一个色综合亚洲| 中文字幕制服丝袜一区二区三区| 国产麻豆精品theporn| 日韩欧美高清一区| 国产在线视频一区二区三区| 欧美成人午夜电影| 国产综合久久久久久鬼色 | 亚洲国产精品一区二区www| 99久久伊人网影院| 亚洲宅男天堂在线观看无病毒| 欧美视频在线播放| 久久99日本精品| 国产欧美日韩卡一| 欧美少妇一区二区| 精品一区中文字幕| 国产精品久久免费看| 色爱区综合激月婷婷| 奇米亚洲午夜久久精品| 欧美精品一区二区在线播放| 成人高清伦理免费影院在线观看| 亚洲欧美日韩国产成人精品影院| 91精品国产一区二区三区蜜臀| 国产在线不卡一区| 亚洲国产成人91porn| 欧美mv日韩mv国产网站app| 99国产精品国产精品毛片| 日韩精品免费视频人成| 国产精品久久久久天堂| 在线综合亚洲欧美在线视频| av电影一区二区| 九一久久久久久| 首页亚洲欧美制服丝腿| 国产精品高潮呻吟| 久久久精品影视| 欧美一级免费大片| 欧美色区777第一页| av一区二区三区在线| 国产高清成人在线| 国产精品一二三四区| 美女视频黄频大全不卡视频在线播放| 亚洲国产高清在线| 国产日韩欧美精品在线| 欧美videos大乳护士334| 91麻豆精品国产91久久久更新时间| 99久久免费精品| 激情丁香综合五月| 久久疯狂做爰流白浆xx| 久久狠狠亚洲综合| 老司机免费视频一区二区| 日韩成人午夜电影| 精品一区二区综合| 精品在线免费视频| 国产精品一区免费视频| 国产一区二区影院| 国产毛片一区二区| k8久久久一区二区三区| 色综合天天综合色综合av| 欧美在线视频你懂得| 欧美福利视频一区| 久久综合九色综合欧美亚洲| 久久亚洲影视婷婷| 一区二区三区四区蜜桃 | 狠狠色狠狠色综合| 国产91精品在线观看| 色欧美乱欧美15图片| 欧美日韩亚洲综合一区| 欧美精品一区二区三区在线| 国产午夜精品福利| 亚洲裸体xxx| 久久av资源站| 91福利精品第一导航| www国产成人| 婷婷六月综合网| 国产成人av网站| 欧美一区二区三区在| 中文字幕在线不卡一区二区三区| 亚洲综合一二三区| 国产福利91精品| 欧美综合欧美视频| 久久久午夜精品理论片中文字幕| 1024成人网| 国产精品一线二线三线精华| 色香色香欲天天天影视综合网| 精品少妇一区二区三区视频免付费 | 日韩伦理av电影| 国产一区二区伦理片| 日韩欧美亚洲另类制服综合在线| 亚洲三级在线播放| 国产馆精品极品| 精品国产一区二区三区久久久蜜月| 亚洲午夜视频在线| 色噜噜狠狠成人网p站| 国产精品国产馆在线真实露脸| 国产精品中文有码| 国产嫩草影院久久久久| 国模娜娜一区二区三区| 2021国产精品久久精品| 免费黄网站欧美| 国产亚洲一区二区在线观看| 国产尤物一区二区| 久久精品水蜜桃av综合天堂| 国产高清不卡二三区| 中文字幕一区二区三| 91福利在线观看| 日韩1区2区日韩1区2区| 日韩三级免费观看|