subspace_bases.m~

来自「一个用EM算法的源程序」· M~ 代码 · 共 21 行

M~
21
字号
function newBases=subspace_bases(X, subspaceNumber, sampleLabels, subspaceDimensions)[ambientDimension, sampleNumber]=size(X);for subspaceIndex=1:subspaceNumber    groupX=X(:,sampleLabels==subspaceIndex);    groupSize=size(groupX,2);    if groupSize==0        % It is an empty group.         error('There are empty classes in sampleLables. The function subspace_bases cannot ');    else        [U,S,V]=svds(groupX,min(subspaceDimensions(subspaceIndex),groupSize));        sDiag=diag(S);        uSize=sum(sDiag>0);        newBases{subspaceIndex}(:,1:uSize)=U(:,1:uSize);        for dimensionIndex=uSize+1:subspaceDimensions(subspaceIndex)            vector = randn(ambientDimension,1);            newBases{subspaceIndex}(:,dimensionIndex) = vector/norm(vector);        end    endend

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?