⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isosolve.m

📁 该文件是用matlab开发的图论分析工具箱
💻 M
字号:
function x=isosolve(L,f,ground,methodFlag,normFlag)%Function x=isosolve(L,f,ground,methodFlag,normFlag) %finds the solution for x, based on minimizing the Isoperimetric %constraints%%Inputs:    L - NxN (weighted) Laplacian matrix%           f - The Nx1 vector corresponding to the notion of volume%              defined on the graph (e.g., f=diag(L) or f=ones(N,1))%           ground - Index to the ground point (index to a vertex)%           methodFlag - Optional flag determining direct or iterative %               solution%              '0' - Direct solution (Default)%              '1' - Iterative with conjugate gradients%           normFlag - Optional flag specifying normalization of the output%              (Default 0).%%Outputs:   x - The Nx1 potential function on the nodes%%%5/22/03 - Leo Grady% Copyright (C) 2002, 2003 Leo Grady <lgrady@cns.bu.edu>%   Computer Vision and Computational Neuroscience Lab%   Department of Cognitive and Neural Systems%   Boston University%   Boston, MA  02215%% This program is free software; you can redistribute it and/or% modify it under the terms of the GNU General Public License% as published by the Free Software Foundation; either version 2% of the License, or (at your option) any later version.%% This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the% GNU General Public License for more details.%% You should have received a copy of the GNU General Public License% along with this program; if not, write to the Free Software% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.%% Date - $Id: isosolve.m,v 1.3 2003/08/21 17:29:29 lgrady Exp $%========================================================================%%InitializationN=length(L);%Read inputsif nargin < 4    methodFlag=0;end%Remove ground pointswarning off %Suppress warning if near singularindex=[1:(ground-1),(ground+1):N];f2=f(index);L2=L(index,index);%Solve systemif ~methodFlag    x=L2\f2;else    x=pcg(L2,f2,[],N,diag(f2));end%Error catch if numerical instability occurs (due to ill-conditioned or %singular matrix)minVal=min(min(x)); if minVal < 0    x(find(x<0))=max(max(x))+1;end%Normalize, if desiredif (nargin > 4) & (normFlag)    x=normalize(x);end%Re-insert ground pointx=[x(1:(ground-1));0;x((ground):(N-1))];%Remove sparseness of outputx=full(x);

⌨️ 快捷键说明

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