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

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

?? acdc_sym.m

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

%acdc_sym: appoximate joint diagonalization
%(in the direct Least-Squares sense) of 
%a set of symmetric 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)*transpose(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*conj(a');
                    end
                    P=P+w(k)*Lam(l,k)*conj(D);
                end
                Pgal=[real(P) -imag(P);-imag(P) -real(P)];
                [V S]=eig(Pgal);
                s=real(diag(S));  %the real is needed to ensure
                %proper max operation!
                [vix,mix]=max(s);
                if vix>0
                    gd=V(:,mix);
                    al=gd(1:N)+1j*gd(N+[1:N]);
                    %this makes sure the 1st nonzero
                    %element's real part is positive, to avoid
                    %hopping between sign changes:
                    fnz=find(real(al)~=0);
                    al=al*sign(real(al(fnz(1))));
                    lam=Lam(l,:);
                    f=vix/((lam.*conj(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.*AtA;
    G=inv(AtA2);
    for k=1:K
        Lam(:,k)=G*diag(A'*M(:,:,k)*conj(A));
        L=diag(Lam(:,k));
        D=M(:,:,k)-A*L*transpose(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);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女mm1313爽爽久久久蜜臀| 色综合天天综合色综合av| 色乱码一区二区三区88| 欧美日韩一区二区三区四区| 久久久精品人体av艺术| 亚洲国产精品久久久久秋霞影院 | 青青草一区二区三区| 国产成人亚洲综合a∨猫咪| 欧美性videosxxxxx| 国产欧美一区二区在线观看| 亚洲一区二区三区精品在线| 成人激情免费电影网址| 久久久不卡网国产精品二区| 人妖欧美一区二区| 欧美色大人视频| 亚洲视频一区在线| 成人妖精视频yjsp地址| 精品国产凹凸成av人网站| 丝袜诱惑制服诱惑色一区在线观看| 成人免费毛片a| 国产三级精品在线| 极品少妇一区二区| 欧美xxxxx牲另类人与| 日韩国产一区二| 欧美色视频一区| 亚洲精品ww久久久久久p站| av不卡免费电影| 国产精品久久久久久久午夜片| 国产夫妻精品视频| 欧美韩国日本不卡| 国产成人综合亚洲91猫咪| 26uuu久久天堂性欧美| 极品尤物av久久免费看| www亚洲一区| 国产福利不卡视频| 国产精品免费视频观看| 不卡av电影在线播放| 国产欧美日韩在线| 成人av网址在线| 亚洲精品综合在线| 欧美裸体bbwbbwbbw| 午夜激情综合网| 欧美一区二区精品在线| 另类小说视频一区二区| 久久婷婷成人综合色| 国产宾馆实践打屁股91| 一区在线播放视频| 在线精品视频小说1| 日韩精品91亚洲二区在线观看| 欧美一区二区三区男人的天堂| 精品中文字幕一区二区小辣椒| xnxx国产精品| 91亚洲精品久久久蜜桃网站| 亚洲精品你懂的| 日韩免费成人网| 成人免费视频国产在线观看| 亚洲色图欧美偷拍| 欧美一区二区私人影院日本| 国产精品亚洲专一区二区三区| 中文成人综合网| 欧美久久久久免费| 国产成人综合视频| 亚洲精品一二三| 26uuu国产一区二区三区| 99在线视频精品| 男人的j进女人的j一区| 国产精品私人自拍| 3d动漫精品啪啪1区2区免费| 国产99久久久精品| 三级一区在线视频先锋| 国产精品激情偷乱一区二区∴| 欧美色爱综合网| gogogo免费视频观看亚洲一| 免费在线观看日韩欧美| 国产精品久久久久毛片软件| 欧美一区二区三区在线观看视频| 国产91高潮流白浆在线麻豆| 亚洲综合在线第一页| 国产亚洲污的网站| 欧美妇女性影城| 99麻豆久久久国产精品免费| 免费高清不卡av| 亚洲男人的天堂网| 国产日韩精品一区二区三区| 欧美日韩国产综合久久| 成人免费看视频| 国产一区二三区| 婷婷综合在线观看| 亚洲乱码国产乱码精品精98午夜| 久久久精品免费免费| 日韩一区二区在线看| 色哟哟一区二区三区| 国产成a人亚洲| 精品一区免费av| 青娱乐精品视频在线| 一区av在线播放| 中文字幕一区在线观看视频| 久久精品一区八戒影视| 精品免费视频.| 日韩欧美视频一区| 91麻豆精品久久久久蜜臀| 欧美亚洲动漫精品| 91在线视频18| caoporn国产精品| 国产91精品欧美| 成人影视亚洲图片在线| 国产成人综合视频| 国产毛片精品国产一区二区三区| 美女视频一区二区| 日本免费新一区视频 | 国产精品福利一区二区三区| 欧美一区二区久久久| 日韩欧美一二三四区| 欧美一区二区三区免费观看视频| 7777女厕盗摄久久久| 欧美精品一二三区| 在线成人av网站| 欧美一级视频精品观看| 日韩欧美www| 久久青草欧美一区二区三区| 久久久精品人体av艺术| 国产日韩三级在线| 国产精品久久久久婷婷二区次| 中文字幕一区三区| 亚洲高清免费观看| 爽好久久久欧美精品| 蜜桃在线一区二区三区| 九色porny丨国产精品| 国产精品一二三四| eeuss影院一区二区三区| 色噜噜狠狠成人中文综合 | 不卡的av电影| 日本精品视频一区二区| 欧美巨大另类极品videosbest| 日韩欧美资源站| 国产视频一区在线播放| 国产精品久久久久久久久久免费看 | 久久综合久久综合九色| 国产日本欧洲亚洲| 亚洲欧美日本在线| 三级不卡在线观看| 国产盗摄一区二区| 欧美日韩在线播放三区四区| 日韩一区国产二区欧美三区| 久久九九久久九九| 一区二区三区在线看| 久久精品国产免费| 99久久精品国产观看| 91精品国产福利在线观看| 亚洲国产电影在线观看| 亚洲成人在线观看视频| 国产精选一区二区三区| 91久久精品日日躁夜夜躁欧美| 91精品国产丝袜白色高跟鞋| 国产欧美日韩在线| 日韩精品色哟哟| 9i在线看片成人免费| 欧美一区二区视频在线观看2020| 国产精品国产三级国产三级人妇 | 亚洲精品免费在线| 国精品**一区二区三区在线蜜桃| 色婷婷精品大在线视频| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区四区中文字幕| 国内精品国产成人国产三级粉色| 91国产成人在线| 国产欧美精品国产国产专区| 日韩av不卡在线观看| 色婷婷久久一区二区三区麻豆| 久久久美女毛片| 青青国产91久久久久久| 日本大香伊一区二区三区| 国产午夜精品一区二区| 毛片av一区二区三区| 欧亚洲嫩模精品一区三区| 国产精品网曝门| 国产黄人亚洲片| www久久精品| 麻豆成人91精品二区三区| 日本韩国欧美三级| 国产精品色一区二区三区| 国产在线国偷精品免费看| 欧美夫妻性生活| 午夜精品久久久久| 欧美性生活久久| 亚洲裸体在线观看| 91啪九色porn原创视频在线观看| 久久久91精品国产一区二区三区| 日本不卡高清视频| 欧美一区二区三区思思人| 肉色丝袜一区二区| 91精品国产色综合久久| 日韩精品国产欧美| 欧美精品在线观看一区二区| 亚洲国产精品久久人人爱蜜臀 | 日本成人在线电影网| 在线观看日韩毛片| 一区二区三区四区高清精品免费观看 | 欧美日韩你懂得| 亚洲国产乱码最新视频|