--- a
+++ b/Supporting Functions/kakearney-boundedline-pkg-8179f9a/catuneven/catuneven.m
@@ -0,0 +1,57 @@
+function b = catuneven(dim, padval, varargin)
+%CATUNEVEN Concatenate unequally-sized arrays, padding with a value
+%
+% This function is similar to cat, except it does not require the arrays to
+% be equally-sized along non-concatenated dimensions.  Instead, all arrays
+% are padded to be equally-sized using the value specified.
+%
+% b = catuneven(dim, padval, a1, a2, ...)
+%
+% Input variables:
+%
+%   dim:    dimension along which to concatenate
+%
+%   padval: value used as placeholder when arrays are expanded
+%
+%   a#:     arrays to be concatenated, numerical
+%
+% Output variables:
+%
+%   b:      concatenated array
+
+% Copyright 2013 Kelly Kearney
+
+ndim = max(cellfun(@ndims, varargin));
+ndim = max(ndim, dim);
+
+for ii = 1:ndim
+    sz(:,ii) = cellfun(@(x) size(x, ii), varargin);
+end
+maxsz = max(sz, [], 1);
+
+nv = length(varargin);
+val = cell(size(varargin));
+for ii = 1:nv
+    sztmp = maxsz;
+    sztmp(dim) = sz(ii,dim);
+    
+    idx = cell(ndim,1);
+    [idx{:}] = ind2sub(sz(ii,:), 1:numel(varargin{ii}));
+    
+    idxnew = sub2ind(sztmp, idx{:});
+    
+    try
+        val{ii} = ones(sztmp) * padval;
+    catch
+        val{ii} = repmat(padval, sztmp);
+    end
+    val{ii}(idxnew) = varargin{ii};
+     
+end
+
+b = cat(dim, val{:});
+
+
+
+
+