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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? acdc.m

?? 聯(lián)合對(duì)角化方法
?? M
字號(hào):
function [A,Lam,Nit,Cls]=...
    acdc(M,w,A0,Lam0,Nc,Tol);

%acdc: appoximate joint diagonalization
%(in the direct Least-Squares sense) of 
%a set of Hermitian matrices, using the
%iterative AC-DC algorithm.
%
%the basic call:
%[A,Lam]=acdc(M);
%
%Inputs:
%
%M(N,N,K) - the input set of K NxN 
%           "target matrices". Note that
%           all matrices must be 
%           symmetric (but need not be 
%           positive-definite).
%
%Outputs:
%
%A(N,Nc)   - the diagonalizing matrix.
%            by default, it is a square matrix (Nc=N),
%            however, the algorithm can also be used 
%            with Nc<M, e.g. for the over-complete case.
%            such values of Nc can be imposed either explicitly
%            (as an additional input parameter) or implicitly,
%            by providing an initial guess (see below) A0
%            of dimensions N by Nc, or Lam0 of dimensions 
%            Nc by K.
%
%Lam(Nc,K) - the diagonal values of the K
%            diagonal matrices.
%
%The algorithm finds an NxNc matrix A and
%K diagonal matrices
%         L(:,:,k)=diag(Lam(:,k))
%such that
% C_{LS}=
% \sum_k\|M(:,:,k)-A*L(:,:,k)*A'\|_F^2
%is minimized.
%
%-----------------------------------------
%   Optional additional input/output
%   parameters:
%-----------------------------------------
%
%[A,Lam,Nit,Cls]=
%	acdc(M,w,A0,Lam0,Nc,Tol);
%
%(additional) Inputs:
%
%w(K) - a set of positive weights such that
%       C_{LS}=
%       \sum_k\w(k)|M(:,:,k)-A*L(:,:,k)*A'\|_F^2
%       default: w=ones(K,1);
%
%A0 - an initial guess for A
%     default: A0=eye(N) (if no Nc, or if Nc=N; otheriwse, just
%     the first Nc columns of eye(N));
%
%Lam0 - an initial guess for the values of
%       Lam. If specified, an AC phase is
%       run first; otherwise, a DC phase is
%       run first.
%
%Nc   - the desired number of columns in A. Nc can be
%       smaller than N, e.g., for over-complete cases (N
%       sensors, Nc sources).
%       default: Nc=N.
%
%Tol  - An imposed tolerance on the change in C_{LS} for
%       a stopping condition.
%       default: Tol=TOL (see below)
%
%(additional) Outputs:
%
%Nit - number of full iterations
%
%Cls - vector of Nit Cls values
%
%-----------------------------------------
% Additional fixed processing parameters
%-----------------------------------------
%
%TOLF - a tolerance value on the change of
%       C_{LS}. AC-DC stops when the
%       decrease of C_{LS} is below a tolerance
%       originally set to:
%             TOLF/(N*N*sum(w));
%       which is reasonable, if the elements
%       in the matrices are of order ~1.
%       if some of the (weighted) matrices are 
%       exceptionally-scaled (see EXSC), a warning is 
%       generated, prompting the user to input a 
%       user-selected Tol (see above).
%
%EXSC - definition of "exceptional scale": if the
%       mean absolute value of the elements of any target
%       matrix is larger than EXSC or smaller than 1/EXSC,
%       and no user-defined Tol has been requested, a 
%       warning is generated (see TOL above)
%
%MAXIT - maximum number of allowed full
%        iterations.
%        Originally set to: 50;
%
%INTLC - number of AC sweeps to interlace
%        dc sweeps.
%        Originally set to: 1.
%
%-----------------------------------------
%
%Note that the implementation here is
%somewhat wasteful (computationally),
%mainly in performing a full eigenvalue
%decomposition at each AC iteration, 
%where in fact only the largest eigenvalue
%(and associated eigenvector) are needed,
%and could be extracted e.g. using the 
%power method. However, for small N (<10),
%the matlab eig function runs faster than
%the power method, so we stick to it.

%-----------------------------------------
%version R1.0, June 2000.
%By Arie Yeredor  arie@eng.tau.ac.il
%
%rev. R1.1, December 2001
%forced s=real(diag(S)) rather than just s=diag(S)
%in the AC phase. S is always real anyway; however,
%it may be set to a complex number with a zero 
%imaginary part, in which case the following
%max operation yields the max abs value, rather
%than the true max. This fixes that problem. -AY
%
%rev R1.2, March 2004
%enabled an over-complete version and a user-defined
%stopping threshold.
%
%Permission is granted to use and 
%distribute this code unaltered. You may 
%also alter it for your own needs, but you
%may not distribute the altered code 
%without obtaining the author's explicit
%consent.
%comments, bug reports, questions 
%and suggestions are welcome.
%
%References:
%[1] Yeredor, A., Approximate Joint 
%Diagonalization Using Non-Orthogonal
%Matrices, Proceedings of ICA2000, 
%pp.33-38, Helsinki, June 2000.
%[2] Yeredor, A., Non-Orthogonal Joint 
%Diagonalization in the Least-Squares 
%Sense with Application in Blind Source
%Separation, IEEE Trans. On Signal Processing,
%vol. 50 no. 7 pp. 1545-1553, July 2002.


%-----------------------------------------
%  here's where the fixed processing-
%  parameters are set (and may be 
%  modified):
%-----------------------------------------
TOLF=1e-3;
EXSC=10;
MAXIT=500;
INTLC=1;

%-----------------------------------------
%   here's where the inputs are collected
%   and validated, and defaults are set.
%-----------------------------------------
[N N1 K]=size(M);
if N~=N1
    error('input matrices must be square');
end
if K<2
    error('at least two input matrices are required');
end

if exist('w','var') & ~isempty(w)
    w=w(:);
    if length(w)~=K
        error('length of w must equal K')
    end   
    if any(w<=0)
        error('all weights must be positive');
    end
else
    w=ones(K,1);
end

if exist('Nc','var') & ~isempty(Nc)
    Nc=round(Nc);
    if Nc<1 or Nc>N
        error('Nc must satisfy 1<=Nc<=N')
    end
    Nc_flag=1;
else
    Nc_flag=0;
    Nc=N;
end

if exist('A0','var') & ~isempty(A0)
    [N_A0,Nc_A0]=size(A0);
    if N_A0~=N
        error('A0 must have the same number of rows as the target matrices')
    end
    if Nc_flag
        if Nc_A0~=Nc
            error('A0 must have Nc columns')
        end
    else
        Nc=Nc_A0;
    end
    A0_flag=1;
else
    A0=eye(N);
    A0=A0(:,1:Nc);
    A0_flag=0;
end

if exist('Lam0','var') & ~isempty(Lam0)
    if A0_flag
        error('Can''t initialize both A and Lam')
    end
    [Nc_L0,K_L0]=size(Lam0);
    if Nc_flag
        if Nc_L0~=Nc
            error('each vector in Lam0 must have Nc elements')
        end
    else
        Nc=Nc_L0;
        A0=A0(:,1:Nc);
    end
    if K_L0~=K
        error('Lam0 must have K vectors')
    end
    skipAC=0;
else
    Lam0=zeros(Nc,K);
    skipAC=1;
end

if exist('Tol','var') & ~isempty(Tol)
else
    %test if any of the matrices is exceptionally
    %scaled
    for k=1:K
        Melk=M(:,:,k);
        mabs=mean(abs(Melk(:)));
        if mabs>EXSC
            warning('Exceptionally large-valued matrix encountered - the default TOL may be inappropriate (consider using Tol)');
        end
        if mabs<1/EXSC
            warning('Exceptionally small-valued matrix encountered - the default TOL may be inappropriate (consider using Tol)');
        end
    end
    Tol=TOLF/(N*N*sum(w));
end

%-----------------------------------------
%  and this is where we start working
%-----------------------------------------

Cls=zeros(MAXIT,1);
Lam=Lam0;
A=A0;
for Nit=1:MAXIT
    
    if ~skipAC
        
        %AC phase   
        for nsw=1:INTLC
            for l=1:Nc
                P=zeros(N);
                for k=1:K
                    D=M(:,:,k);
                    for nc=[1:l-1 l+1:Nc]
                        a=A(:,nc);
                        D=D-Lam(nc,k)*a*a';
                    end
                    P=P+w(k)*Lam(l,k)*D;
                end
                [V S]=eig(P);
                s=real(diag(S));     %R1.1 - ay
                [vix,mix]=max(s);
                if vix>0
                    al=V(:,mix);
                    %this makes sure the 1st nonzero
                    %element is positive, to avoid
                    %hopping between sign changes:
                    fnz=find(al~=0);
                    al=al*sign(al(fnz(1)));
                    lam=Lam(l,:);
                    f=vix/((lam.*lam)*w);
                    a=al*sqrt(f);
                else
                    a=zeros(N,1);
                end	
                A(:,l)=a;
            end	%sweep
        end		%interlaces
    end			%skip AC
    skipAC=0;
    
    %DC phase
    AtA=A'*A;
    AtA2=AtA.*conj(AtA);
    G=inv(AtA2);
    for k=1:K
        Lam(:,k)=G*diag(A'*M(:,:,k)*A);
        L=diag(Lam(:,k));
        D=M(:,:,k)-A*L*A';
        Cls(Nit)=Cls(Nit)+w(k)*sum(sum(D.*conj(D)));
    end
    
    if Nit>1
        if abs(Cls(Nit)-Cls(Nit-1))<Tol
            break
        end
    end
    
end
Cls=Cls(1:Nit);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久av影院| 蜜桃精品视频在线| 亚洲人午夜精品天堂一二香蕉| 久久青草国产手机看片福利盒子 | 欧美一二三在线| 欧美日韩电影在线| 91久久精品网| 欧洲色大大久久| 欧美日韩一卡二卡三卡| 欧美区视频在线观看| 在线不卡一区二区| 日韩免费高清av| 精品久久久久久久久久久久包黑料| 精品久久久久一区二区国产| 久久午夜电影网| 国产精品女同一区二区三区| 亚洲日本中文字幕区| 亚洲国产视频直播| 蜜臀91精品一区二区三区 | 欧美网站大全在线观看| 欧美日韩国产小视频在线观看| 91麻豆精品国产91久久久久久| 欧美一区二区三区视频在线观看| 欧美大片一区二区| 国产精品美女久久久久久久久久久| 亚洲三级电影网站| 日韩精品免费视频人成| 六月婷婷色综合| 成人app网站| 欧美日韩国产不卡| 久久色视频免费观看| 综合久久久久久| 日韩成人av影视| 成人午夜av在线| 欧美三级午夜理伦三级中视频| 精品国产一区二区三区不卡 | 丝袜亚洲精品中文字幕一区| 国内精品免费在线观看| 91色porny蝌蚪| 日韩写真欧美这视频| 欧美激情一区二区三区在线| 亚洲午夜精品网| 国内精品自线一区二区三区视频| 97久久超碰国产精品| 日韩免费观看高清完整版在线观看| 国产三级一区二区三区| 一区二区高清视频在线观看| 久久99久久99小草精品免视看| 99久久综合精品| 欧美xxxx老人做受| 《视频一区视频二区| 蜜桃av噜噜一区| 99在线视频精品| 久久伊99综合婷婷久久伊| 亚洲香蕉伊在人在线观| 国产**成人网毛片九色 | 国产精品美女视频| 日本亚洲三级在线| 91视频国产观看| 精品国产一区二区三区不卡 | 91日韩在线专区| 欧美成人精品3d动漫h| 亚洲制服欧美中文字幕中文字幕| 国产麻豆欧美日韩一区| 欧美日韩亚洲综合在线| 日韩理论片在线| 黄色资源网久久资源365| 欧美日韩亚洲丝袜制服| 亚洲欧洲av一区二区三区久久| 久久超碰97中文字幕| 欧美日韩mp4| 一二三区精品视频| 91小视频免费看| 欧美国产精品v| 韩国精品在线观看| 日韩一区二区三区免费看| 亚洲亚洲人成综合网络| 一本久久综合亚洲鲁鲁五月天| 日韩高清不卡在线| 欧洲精品一区二区| 亚洲色图在线播放| 成人精品视频一区二区三区尤物| 亚洲精品在线观看网站| 美女mm1313爽爽久久久蜜臀| 欧美性猛交xxxx黑人交| 一区二区日韩av| 日本韩国欧美三级| 综合久久久久久久| 91香蕉视频mp4| 亚洲日穴在线视频| 色综合中文综合网| 国产69精品久久久久777| 精品国产精品网麻豆系列| 免费av网站大全久久| 欧美精选午夜久久久乱码6080| 一级中文字幕一区二区| 欧洲一区在线电影| 亚洲综合一区二区精品导航| 91国在线观看| 亚洲国产毛片aaaaa无费看| 色网综合在线观看| 亚洲专区一二三| 欧美日韩久久一区| 日韩国产精品91| 日韩精品中午字幕| 韩国一区二区三区| 国产亚洲精品7777| 成人一区二区视频| 国产精品理伦片| 91麻豆123| 亚洲高清中文字幕| 欧美一区二区三区在线| 九色综合国产一区二区三区| 精品美女在线播放| 国产成人免费视| 综合色天天鬼久久鬼色| 在线看国产一区| 日韩电影免费在线观看网站| 欧美成人高清电影在线| 久99久精品视频免费观看| 国产日韩高清在线| 91蜜桃传媒精品久久久一区二区| 亚洲精品乱码久久久久久日本蜜臀| 欧美私模裸体表演在线观看| 偷偷要91色婷婷| 精品美女被调教视频大全网站| 国产精品123区| 亚洲欧美激情插 | 日韩伦理免费电影| 欧美视频在线播放| 久草这里只有精品视频| 中文欧美字幕免费| 欧美性大战久久| 欧美性感一类影片在线播放| 爽好久久久欧美精品| 久久综合狠狠综合久久综合88| av成人免费在线观看| 午夜精品视频一区| 国产午夜精品一区二区三区嫩草 | 久久天堂av综合合色蜜桃网| av成人老司机| 免费观看一级欧美片| 欧美激情中文字幕一区二区| 欧洲色大大久久| 狠狠色丁香婷婷综合| 亚洲靠逼com| 精品嫩草影院久久| 色成年激情久久综合| 久久精品国产77777蜜臀| 国产精品久久久久aaaa樱花| 欧美日韩国产高清一区| 国产成a人亚洲精品| 亚洲狠狠爱一区二区三区| 精品成人一区二区三区四区| 一本到三区不卡视频| 久久国产福利国产秒拍| 亚洲免费高清视频在线| 久久夜色精品一区| 欧美日韩精品高清| 成人午夜视频在线| 蜜臀av性久久久久蜜臀av麻豆| 中文字幕一区二区日韩精品绯色| 日韩欧美在线综合网| 色噜噜狠狠成人中文综合| 国产精品一区二区视频| 日欧美一区二区| 亚洲精品国产精品乱码不99 | 国产成人亚洲综合色影视| 天天综合日日夜夜精品| 中文字幕视频一区二区三区久| 欧美一区二区三区小说| 在线看日本不卡| aaa欧美日韩| 国产成人免费视频一区| 久久精品久久精品| 亚洲一级片在线观看| 最新成人av在线| 日本一区二区三区电影| 欧美v日韩v国产v| 欧美二区三区的天堂| 在线国产电影不卡| 91免费看`日韩一区二区| 岛国av在线一区| 国产高清精品在线| 91精品国产欧美一区二区成人| 一本色道**综合亚洲精品蜜桃冫 | 精品福利av导航| 欧美一区二区三区免费在线看 | 欧美三级日本三级少妇99| 91免费观看视频在线| 不卡一区二区在线| 国产91清纯白嫩初高中在线观看| 精品一二三四在线| 久久99精品国产| 精品一区二区三区免费毛片爱 | 成人动漫一区二区在线| 国产成人在线视频免费播放| 国产在线不卡视频| 国内外成人在线| 国产一二精品视频|