| Description of slmakeadjmat |
slmakeadjmat
PURPOSE 
SLMAKEADJMAT Makes an adjacency matrix using edges and corresponing values
SYNOPSIS 
function A = slmakeadjmat(n, nt, edges, vals, islogic, isspar)
DESCRIPTION 
CROSS-REFERENCE INFORMATION 
This function calls:
This function is called by:
- sledges2adjmat SLEDGES2ADJMAT Creates an adjacency matrix from edge set
- slnngraph SLNNGRAPH Constructs a nearest neighborhood based graph
- slpwgraph SLVALGRAPH Constructs a graph by computing values between nodes pairwisely
- slsymgraph SLSYMGRAPH Forces symmetry of the adjacency matrix of a graph
SUBFUNCTIONS 
SOURCE CODE 
0001 function A = slmakeadjmat(n, nt, edges, vals, islogic, isspar)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043 if isempty(edges)
0044 A = make_emptymat(n, nt, 0, islogic, isspar);
0045 else
0046 [ne, ncols] = size(edges);
0047
0048
0049 inds = [];
0050 if isspar
0051 if ncols == 1
0052 inds = edges;
0053 else
0054 I = edges(:,1);
0055 J = edges(:,2);
0056 end
0057 else
0058 if ncols == 1
0059 inds = edges;
0060 else
0061 inds = sub2ind([n, nt], edges(:,1), edges(:,2));
0062 end
0063 end
0064
0065
0066 if isempty(vals)
0067 if ncols == 1 || ncols == 2
0068 if islogic
0069 vals = true;
0070 else
0071 vals = 1;
0072 end
0073 else
0074 if islogic
0075 vals = (edges(:,3) ~= 0);
0076 else
0077 vals = edges(:,3);
0078 end
0079 end
0080 else
0081 if islogic
0082 if ~islogical(vals)
0083 vals = (vals ~= 0);
0084 end
0085 else
0086 if ~isa(vals, 'double')
0087 vals = double(vals);
0088 end
0089 end
0090 end
0091
0092
0093
0094 if isempty(inds)
0095 A = sparse(I, J, vals, n, nt);
0096 else
0097 A = make_emptymat(n, nt, ne, islogic, isspar);
0098 A(inds) = vals;
0099 end
0100
0101 end
0102
0103
0104
0105
0106 function A = make_emptymat(n, nt, ne, islogic, isspar)
0107
0108 if isspar
0109 if islogic
0110 if ne > 0
0111 A = sparse(1, 1, false, n, nt, ne);
0112 else
0113 A = sparse(1, 1, false, n, nt);
0114 end
0115 else
0116 A = spalloc(n, nt, ne);
0117 end
0118 else
0119 if islogic
0120 A = false(n, nt);
0121 else
0122 A = zeros(n, nt);
0123 end
0124 end
0125
0126
0127
0128
0129
0130
0131
Generated on Wed 20-Sep-2006 12:43:11 by m2html © 2003
|
|