getSampleDataset

PURPOSE ^

getSampleDataset Gets sample data to use in the demos given an identifier

SYNOPSIS ^

function [x, y, z, xi, yi, zt, demoOptions] = getSampleDataset(dataId)

DESCRIPTION ^

getSampleDataset Gets sample data to use in the demos given an identifier
(string)
 
 This function is not intended to be used by the end-user of the toolbox, is just supposed to be used within the demo scripts!
 
 INPUT:
   - dataId: The identifier of the dataset. Available options: 
              - 'seamount': seamount bathymetric point set (ships with
                   Matlab, to check availability, try 'load seamount' on the command line)
              - 'peaks': Matlab 'peaks' function (2 inverted Gaussians)
              - 'franke': Franke's function (see ./sample_functions/franke.m)
 
 OUTPUT:
   - x, y, z: Known samples of the dataset (z = f(x, y)).
   - xi, yi: Locations to interpolate in the XY plane.
   - zt: True values of the function at the interpolation location (if available)
   - demoOptions: The options of the algorithm that we found to be the best
       for each dataset. It also includes visualization options.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [x, y, z, xi, yi, zt, demoOptions] = getSampleDataset(dataId)
0002 %getSampleDataset Gets sample data to use in the demos given an identifier
0003 %(string)
0004 %
0005 % This function is not intended to be used by the end-user of the toolbox, is just supposed to be used within the demo scripts!
0006 %
0007 % INPUT:
0008 %   - dataId: The identifier of the dataset. Available options:
0009 %              - 'seamount': seamount bathymetric point set (ships with
0010 %                   Matlab, to check availability, try 'load seamount' on the command line)
0011 %              - 'peaks': Matlab 'peaks' function (2 inverted Gaussians)
0012 %              - 'franke': Franke's function (see ./sample_functions/franke.m)
0013 %
0014 % OUTPUT:
0015 %   - x, y, z: Known samples of the dataset (z = f(x, y)).
0016 %   - xi, yi: Locations to interpolate in the XY plane.
0017 %   - zt: True values of the function at the interpolation location (if available)
0018 %   - demoOptions: The options of the algorithm that we found to be the best
0019 %       for each dataset. It also includes visualization options.
0020 
0021 switch lower(dataId)
0022     case 'seamount'
0023         % Load sample data
0024         load seamount; % Loads x, y, z
0025         % Create the evaluation grid
0026         [xi, yi] = meshgrid(210.8:0.01:211.8, -48.5:0.01:-47.9);
0027         % True values of the function at the evaluation grid (unknown in
0028         % this case)
0029         zt = []; 
0030         % Create the options structure
0031         demoOptions.DistanceType = 'euclidean'; % Because x/y are in lat/lon! Would work also with Euclidean distance, but this is more correct...
0032         % --> IDW
0033         demoOptions.IDW.Radius = 5;
0034         demoOptions.IDW.SearchType = 'radial';
0035         demoOptions.IDW.K = 5; % Not used
0036         demoOptions.IDW.Power = 2;
0037         % --> RBF (options for each RBF Type, as required by demoRBFInterpolants!)
0038         demoOptions.RBF.RBF = 'thinplate';
0039         %   --> Linear
0040         demoOptions.RBF.linear.PolynomialDegree = 1;        
0041         demoOptions.RBF.linear.RBFEpsilon = 1;
0042         demoOptions.RBF.linear.Regularization = 0;
0043         %   --> Cubic
0044         demoOptions.RBF.cubic.PolynomialDegree = 1;        
0045         demoOptions.RBF.cubic.RBFEpsilon = 1;
0046         demoOptions.RBF.cubic.Regularization = 0;
0047         %   --> Quintic
0048         demoOptions.RBF.quintic.PolynomialDegree = 1;        
0049         demoOptions.RBF.quintic.RBFEpsilon = 1;
0050         demoOptions.RBF.quintic.Regularization = 0;
0051         %   --> Multiquadric
0052         demoOptions.RBF.multiquadric.PolynomialDegree = 1;        
0053         demoOptions.RBF.multiquadric.RBFEpsilon = 1;
0054         demoOptions.RBF.multiquadric.Regularization = 0;
0055         %   --> Inverse Multiquadric
0056         demoOptions.RBF.inversemultiquadric.PolynomialDegree = 1;        
0057         demoOptions.RBF.inversemultiquadric.RBFEpsilon = 1;
0058         demoOptions.RBF.inversemultiquadric.Regularization = 0;
0059         %   --> Thin Plate Spline
0060         demoOptions.RBF.thinplate.PolynomialDegree = 1;        
0061         demoOptions.RBF.thinplate.RBFEpsilon = 1;
0062         demoOptions.RBF.thinplate.Regularization = 0;
0063         %   --> Green
0064         demoOptions.RBF.green.PolynomialDegree = 1;        
0065         demoOptions.RBF.green.RBFEpsilon = 1;
0066         demoOptions.RBF.green.Regularization = 0;
0067         %   --> Green with tension
0068         demoOptions.RBF.greenwithtension.PolynomialDegree = 1;        
0069         demoOptions.RBF.greenwithtension.RBFEpsilon = 0.3;
0070         demoOptions.RBF.greenwithtension.RBFEpsilonIsNormalized = true;
0071         demoOptions.RBF.greenwithtension.Regularization = 0;
0072         %   --> Green regularized with tension
0073         demoOptions.RBF.greenregularizedwithtension.PolynomialDegree = 1;        
0074         demoOptions.RBF.greenregularizedwithtension.RBFEpsilon = 0.3;
0075         demoOptions.RBF.greenregularizedwithtension.RBFEpsilonIsNormalized = true;
0076         demoOptions.RBF.greenregularizedwithtension.Regularization = 0;
0077         %   --> Spline with tension
0078         demoOptions.RBF.tensionspline.PolynomialDegree = 1;        
0079         demoOptions.RBF.tensionspline.RBFEpsilon = 1;
0080         demoOptions.RBF.tensionspline.Regularization = 0;
0081         %   --> Regularized Spline
0082         demoOptions.RBF.regularizedspline.PolynomialDegree = 0;        
0083         demoOptions.RBF.regularizedspline.RBFEpsilon = 0.01;
0084         demoOptions.RBF.regularizedspline.Smooth = 0;
0085         demoOptions.RBF.regularizedspline.Regularization = 0;        
0086         %   --> Gaussian
0087         demoOptions.RBF.gaussian.PolynomialDegree = 1;        
0088         demoOptions.RBF.gaussian.RBFEpsilon = 0.025;
0089         demoOptions.RBF.gaussian.Smooth = 0;
0090         demoOptions.RBF.gaussian.Regularization = 0;
0091         %   --> Wendland
0092         demoOptions.RBF.wendland.PolynomialDegree = 1;        
0093         demoOptions.RBF.wendland.RBFEpsilon = 0.025;
0094         demoOptions.RBF.wendland.Smooth = 0;
0095         demoOptions.RBF.wendland.Regularization = 0;
0096         % --> Kriging
0097         demoOptions.Kriging.Variogram.Type = 'gaussian';
0098         demoOptions.Kriging.Variogram.NumSamples = 100;
0099         demoOptions.Kriging.Variogram.OptimNugget = true;
0100         demoOptions.Kriging.PolynomialDegree = 0; % i.e., Ordinary Kriging
0101         demoOptions.Kriging.Regularization = 0;
0102         % --> QuadTreePURBF
0103         demoOptions.PURBF.Domain = [210.8 -48.5 1 0.6000];
0104         demoOptions.PURBF.MinPointsInCell = 10;
0105         demoOptions.PURBF.MinCellSizePercent = 0.1;
0106         demoOptions.PURBF.Overlap = 0.25;
0107         % --> MLS
0108         demoOptions.MLS.PolynomialDegree = 2;
0109         demoOptions.MLS.RBF = 'wendland';
0110         demoOptions.MLS.RBFEpsilon = 1;
0111         demoOptions.MLS.MinSamples = 6;
0112         % --> Visualization
0113         demoOptions.Plot.XLabel = 'Longitude';
0114         demoOptions.Plot.YLabel = 'Latitude';
0115         demoOptions.Plot.ZLabel = 'Depth';       
0116         demoOptions.Plot.AxisEqual = false;
0117     case 'peaks'
0118         % Create 100 samples of Matlab's 'peaks' function
0119         numSamples = 100;
0120         a = -3;
0121         b = 3;
0122         samples = (b-a).*rand(numSamples, 2) + a;
0123         [x, y, z] = peaks(samples(:, 1), samples(:, 2));
0124         % Create the evaluation grid
0125         [xi, yi] = meshgrid(-3:0.1:3, -3:0.1:3);
0126         % True values of the function at the evaluation grid
0127         [~, ~, zt] = peaks(xi, yi);
0128         % Create the options structure
0129         demoOptions.DistanceType = 'euclidean';
0130         % --> IDW
0131         demoOptions.IDW.Radius = 5;
0132         demoOptions.IDW.SearchType = 'radial';
0133         demoOptions.IDW.K = 5; % Not used
0134         demoOptions.IDW.Power = 3;
0135         % --> RBF (options for each RBF Type, as required by demoRBFInterpolants!)
0136         demoOptions.RBF.RBF = 'thinplate';
0137         %   --> Linear
0138         demoOptions.RBF.linear.PolynomialDegree = 1;        
0139         demoOptions.RBF.linear.RBFEpsilon = 1;
0140         demoOptions.RBF.linear.Regularization = 0;
0141         %   --> Cubic
0142         demoOptions.RBF.cubic.PolynomialDegree = 1;        
0143         demoOptions.RBF.cubic.RBFEpsilon = 1;
0144         demoOptions.RBF.cubic.Regularization = 0;
0145         %   --> Quintic
0146         demoOptions.RBF.quintic.PolynomialDegree = 1;        
0147         demoOptions.RBF.quintic.RBFEpsilon = 1;
0148         demoOptions.RBF.quintic.Regularization = 0;
0149         %   --> Multiquadric
0150         demoOptions.RBF.multiquadric.PolynomialDegree = 1;        
0151         demoOptions.RBF.multiquadric.RBFEpsilon = 1;
0152         demoOptions.RBF.multiquadric.Regularization = 0;
0153         %   --> Inverse Multiquadric
0154         demoOptions.RBF.inversemultiquadric.PolynomialDegree = 1;        
0155         demoOptions.RBF.inversemultiquadric.RBFEpsilon = 1;
0156         demoOptions.RBF.inversemultiquadric.Regularization = 0;
0157         %   --> Thin Plate Spline
0158         demoOptions.RBF.thinplate.PolynomialDegree = 1;        
0159         demoOptions.RBF.thinplate.RBFEpsilon = 1;
0160         demoOptions.RBF.thinplate.Regularization = 0;
0161         %   --> Green
0162         demoOptions.RBF.green.PolynomialDegree = 1;        
0163         demoOptions.RBF.green.RBFEpsilon = 1;
0164         demoOptions.RBF.green.Regularization = 0;
0165         %   --> Green with tension
0166         demoOptions.RBF.greenwithtension.PolynomialDegree = 1;        
0167         demoOptions.RBF.greenwithtension.RBFEpsilon = 0.3;
0168         demoOptions.RBF.greenwithtension.RBFEpsilonIsNormalized = true;
0169         demoOptions.RBF.greenwithtension.Regularization = 0;        
0170         %   --> Green regularized with tension
0171         demoOptions.RBF.greenregularizedwithtension.PolynomialDegree = 1;        
0172         demoOptions.RBF.greenregularizedwithtension.RBFEpsilon = 0.3;
0173         demoOptions.RBF.greenregularizedwithtension.RBFEpsilonIsNormalized = true;
0174         demoOptions.RBF.greenregularizedwithtension.Regularization = 0;
0175         %   --> Spline with tension
0176         demoOptions.RBF.tensionspline.PolynomialDegree = 0;        
0177         demoOptions.RBF.tensionspline.RBFEpsilon = 0.1;
0178         demoOptions.RBF.tensionspline.Regularization = 0;
0179         %   --> Regularized Spline
0180         demoOptions.RBF.regularizedspline.PolynomialDegree = 1;        
0181         demoOptions.RBF.regularizedspline.RBFEpsilon = 1;
0182         demoOptions.RBF.regularizedspline.Regularization = 0;        
0183         %   --> Gaussian
0184         demoOptions.RBF.gaussian.PolynomialDegree = 1;        
0185         demoOptions.RBF.gaussian.RBFEpsilon = 1;
0186         demoOptions.RBF.gaussian.Regularization = 0;
0187         %   --> Wendland
0188         demoOptions.RBF.wendland.PolynomialDegree = 1;        
0189         demoOptions.RBF.wendland.RBFEpsilon = 2;
0190         demoOptions.RBF.wendland.Regularization = 0;
0191         % --> Kriging
0192         demoOptions.Kriging.Variogram.Type = 'gaussian';
0193         demoOptions.Kriging.Variogram.NumSamples = 100;
0194         demoOptions.Kriging.Variogram.OptimNugget = true;
0195         demoOptions.Kriging.PolynomialDegree = 0; % i.e., Ordinary Kriging
0196         demoOptions.Kriging.Regularization = 0;
0197         % --> QuadTreePURBF
0198         demoOptions.PURBF.Domain = [-3 -3 6 6];
0199         demoOptions.PURBF.MinPointsInCell = 100;
0200         demoOptions.PURBF.MinCellSizePercent = 0.1;
0201         demoOptions.PURBF.Overlap = 0.25;
0202         % --> MLS
0203         demoOptions.MLS.PolynomialDegree = 2;
0204         demoOptions.MLS.RBF = 'wendland';
0205         demoOptions.MLS.RBFEpsilon = 3;
0206         demoOptions.MLS.MinSamples = 6;
0207         % --> Visualization
0208         demoOptions.Plot.XLabel = 'x';
0209         demoOptions.Plot.YLabel = 'y';
0210         demoOptions.Plot.ZLabel = 'z';       
0211         demoOptions.Plot.AxisEqual = false;
0212     case 'franke'
0213         % Create 1000 samples of Franke's function
0214         addpath('./sample_functions');        
0215         samples = rand(100, 2);
0216         x = samples(:, 1);
0217         y = samples(:, 2);
0218         z = franke(samples(:, 1), samples(:, 2));        
0219         % Create the evaluation grid
0220         [xi, yi] = meshgrid(0:0.025:1, 0:0.025:1);
0221         % True values of the function at the evaluation grid
0222         zt = franke(xi, yi);   
0223         % Create the options structure
0224         demoOptions.DistanceType = 'euclidean';
0225         % --> IDW
0226         demoOptions.IDW.Radius = 5;
0227         demoOptions.IDW.SearchType = 'radial';
0228         demoOptions.IDW.K = 5; % Not used
0229         demoOptions.IDW.Power = 2;        
0230         % --> RBF (options for each RBF Type, as required by demoRBFInterpolants!)
0231         demoOptions.RBF.RBF = 'thinplate';
0232         %   --> Linear
0233         demoOptions.RBF.linear.PolynomialDegree = 1;        
0234         demoOptions.RBF.linear.RBFEpsilon = 1;
0235         demoOptions.RBF.linear.Regularization = 0;
0236         %   --> Cubic
0237         demoOptions.RBF.cubic.PolynomialDegree = 1;        
0238         demoOptions.RBF.cubic.RBFEpsilon = 1;
0239         demoOptions.RBF.cubic.Regularization = 0;
0240         %   --> Quintic
0241         demoOptions.RBF.quintic.PolynomialDegree = 1;        
0242         demoOptions.RBF.quintic.RBFEpsilon = 1;
0243         demoOptions.RBF.quintic.Regularization = 0;
0244         %   --> Multiquadric
0245         demoOptions.RBF.multiquadric.PolynomialDegree = 1;        
0246         demoOptions.RBF.multiquadric.RBFEpsilon = 1;
0247         demoOptions.RBF.multiquadric.Regularization = 0;
0248         %   --> Inverse Multiquadric
0249         demoOptions.RBF.inversemultiquadric.PolynomialDegree = 1;        
0250         demoOptions.RBF.inversemultiquadric.RBFEpsilon = 1;
0251         demoOptions.RBF.inversemultiquadric.Regularization = 0;
0252         %   --> Thin Plate Spline
0253         demoOptions.RBF.thinplate.PolynomialDegree = 1;        
0254         demoOptions.RBF.thinplate.RBFEpsilon = 1;
0255         demoOptions.RBF.thinplate.Regularization = 0;
0256         %   --> Green
0257         demoOptions.RBF.green.PolynomialDegree = 1;        
0258         demoOptions.RBF.green.RBFEpsilon = 1;
0259         demoOptions.RBF.green.Regularization = 0;
0260         %   --> Green with tension
0261         demoOptions.RBF.greenwithtension.PolynomialDegree = 1;        
0262         demoOptions.RBF.greenwithtension.RBFEpsilon = 0.3;
0263         demoOptions.RBF.greenwithtension.RBFEpsilonIsNormalized = true;
0264         demoOptions.RBF.greenwithtension.Regularization = 0;        
0265         %   --> Green regularized with tension
0266         demoOptions.RBF.greenregularizedwithtension.PolynomialDegree = 1;        
0267         demoOptions.RBF.greenregularizedwithtension.RBFEpsilon = 0.3;
0268         demoOptions.RBF.greenregularizedwithtension.RBFEpsilonIsNormalized = true;
0269         demoOptions.RBF.greenregularizedwithtension.Regularization = 0;
0270         %   --> Spline with tension
0271         demoOptions.RBF.tensionspline.PolynomialDegree = 1;        
0272         demoOptions.RBF.tensionspline.RBFEpsilon = 1;
0273         demoOptions.RBF.tensionspline.Regularization = 0;        
0274         %   --> Regularized Spline
0275         demoOptions.RBF.regularizedspline.PolynomialDegree = 0;        
0276         demoOptions.RBF.regularizedspline.RBFEpsilon = 1;
0277         demoOptions.RBF.regularizedspline.Regularization = 0;
0278         %   --> Gaussian
0279         demoOptions.RBF.gaussian.PolynomialDegree = 1;        
0280         demoOptions.RBF.gaussian.RBFEpsilon = 0.1;
0281         demoOptions.RBF.gaussian.Smooth = 0;
0282         demoOptions.RBF.gaussian.Regularization = 0;
0283         %   --> Wendland
0284         demoOptions.RBF.wendland.PolynomialDegree = 1;        
0285         demoOptions.RBF.wendland.RBFEpsilon = 1;
0286         demoOptions.RBF.wendland.Regularization = 0;
0287         % --> Kriging
0288         demoOptions.Kriging.Variogram.Type = 'gaussian';
0289         demoOptions.Kriging.Variogram.NumSamples = 100;
0290         demoOptions.Kriging.Variogram.OptimNugget = true;
0291         demoOptions.Kriging.PolynomialDegree = 0; % i.e., Ordinary Kriging
0292         demoOptions.Kriging.Regularization = 0;  
0293         % --> QuadTreePURBF
0294         demoOptions.PURBF.Domain = [0 0 1 1];
0295         demoOptions.PURBF.MinPointsInCell = 25;
0296         demoOptions.PURBF.MinCellSizePercent = 0.1;
0297         demoOptions.PURBF.Overlap = 0.25;
0298         % --> MLS
0299         demoOptions.MLS.PolynomialDegree = 2;
0300         demoOptions.MLS.RBF = 'wendland';
0301         demoOptions.MLS.RBFEpsilon = 1;
0302         demoOptions.MLS.MinSamples = 6;
0303         % --> Visualization
0304         demoOptions.Plot.XLabel = 'x';
0305         demoOptions.Plot.YLabel = 'y';
0306         demoOptions.Plot.ZLabel = 'z';       
0307         demoOptions.Plot.AxisEqual = false;
0308     case 'flower'
0309 %         % Create 400 samples of Flower function
0310 %         addpath('./sample_functions');
0311 % %         numSamples = 400;
0312 % %         a = -1;
0313 % %         b = 1;
0314 % %         samples = (b-a).*rand(numSamples, 2) + a;
0315 % %         x = samples(:, 1);
0316 % %         y = samples(:, 2);
0317 %
0318 %         xx = linspace(-1, 1, 10);
0319 %         yy = linspace(-1, 1, 10);
0320 %         [x, y] = meshgrid(xx, yy);
0321 %         z = flower(x, y);
0322 %
0323 %         % Create the evaluation grid
0324 % %         [xi, yi] = meshgrid(-1:1/100:1, -1:1/100:1);
0325 %
0326 %         xi = xx(randsample(numel(xx), 400, true));
0327 %         yi = yy(randsample(numel(yy), 400, true));
0328 %         % True values of the function at the evaluation grid
0329 %         zt = flower(xi, yi);
0330 
0331         % Create 1000 samples of Flower function
0332         addpath('./sample_functions');        
0333         numSamples = 400;
0334         a = -1;
0335         b = 1;
0336         samples = (b-a).*rand(numSamples, 2) + a;
0337         x = samples(:, 1);
0338         y = samples(:, 2);
0339         z = flower(samples(:, 1), samples(:, 2));        
0340         
0341         % Create the evaluation grid
0342         [xi, yi] = meshgrid(-1:0.025:1, -1:0.025:1);
0343         % True values of the function at the evaluation grid
0344         zt = flower(xi, yi);   
0345 
0346         % Create the options structure
0347         demoOptions.DistanceType = 'euclidean';
0348         % --> IDW
0349         demoOptions.IDW.Radius = 5;
0350         demoOptions.IDW.SearchType = 'radial';
0351         demoOptions.IDW.K = 5; % Not used
0352         demoOptions.IDW.Power = 2;        
0353         % --> RBF (options for each RBF Type, as required by demoRBFInterpolants!)
0354         demoOptions.RBF.RBF = 'thinplate';
0355         %   --> Linear
0356         demoOptions.RBF.linear.PolynomialDegree = 1;        
0357         demoOptions.RBF.linear.RBFEpsilon = 1;
0358         demoOptions.RBF.linear.Regularization = 0;
0359         %   --> Cubic
0360         demoOptions.RBF.cubic.PolynomialDegree = 1;        
0361         demoOptions.RBF.cubic.RBFEpsilon = 1;
0362         demoOptions.RBF.cubic.Regularization = 0;
0363         %   --> Quintic
0364         demoOptions.RBF.quintic.PolynomialDegree = 1;        
0365         demoOptions.RBF.quintic.RBFEpsilon = 1;
0366         demoOptions.RBF.quintic.Regularization = 0;
0367         %   --> Multiquadric
0368         demoOptions.RBF.multiquadric.PolynomialDegree = 1;        
0369         demoOptions.RBF.multiquadric.RBFEpsilon = 1;
0370         demoOptions.RBF.multiquadric.Regularization = 0;
0371         %   --> Inverse Multiquadric
0372         demoOptions.RBF.inversemultiquadric.PolynomialDegree = 1;        
0373         demoOptions.RBF.inversemultiquadric.RBFEpsilon = 1;
0374         demoOptions.RBF.inversemultiquadric.Regularization = 0;
0375         %   --> Thin Plate Spline
0376         demoOptions.RBF.thinplate.PolynomialDegree = 1;        
0377         demoOptions.RBF.thinplate.RBFEpsilon = 1;
0378         demoOptions.RBF.thinplate.Regularization = 0;
0379         %   --> Green
0380         demoOptions.RBF.green.PolynomialDegree = 1;        
0381         demoOptions.RBF.green.RBFEpsilon = 1;
0382         demoOptions.RBF.green.Regularization = 0;
0383         %   --> Green with tension
0384         demoOptions.RBF.greenwithtension.PolynomialDegree = 1;        
0385         demoOptions.RBF.greenwithtension.RBFEpsilon = 0.3;
0386         demoOptions.RBF.greenwithtension.RBFEpsilonIsNormalized = true;
0387         demoOptions.RBF.greenwithtension.Regularization = 0;        
0388         %   --> Green regularized with tension
0389         demoOptions.RBF.greenregularizedwithtension.PolynomialDegree = 1;        
0390         demoOptions.RBF.greenregularizedwithtension.RBFEpsilon = 0.3;
0391         demoOptions.RBF.greenregularizedwithtension.RBFEpsilonIsNormalized = true;
0392         demoOptions.RBF.greenregularizedwithtension.Regularization = 0;
0393         %   --> Spline with tension
0394         demoOptions.RBF.tensionspline.PolynomialDegree = 1;        
0395         demoOptions.RBF.tensionspline.RBFEpsilon = 1;
0396         demoOptions.RBF.tensionspline.Regularization = 0;        
0397         %   --> Regularized Spline
0398         demoOptions.RBF.regularizedspline.PolynomialDegree = 0;        
0399         demoOptions.RBF.regularizedspline.RBFEpsilon = 1;
0400         demoOptions.RBF.regularizedspline.Regularization = 0;
0401         %   --> Gaussian
0402         demoOptions.RBF.gaussian.PolynomialDegree = 1;        
0403         demoOptions.RBF.gaussian.RBFEpsilon = 0.01;
0404         demoOptions.RBF.gaussian.Smooth = 0;
0405         demoOptions.RBF.gaussian.Regularization = 0;
0406         %   --> Wendland
0407         demoOptions.RBF.wendland.PolynomialDegree = 1;        
0408         demoOptions.RBF.wendland.RBFEpsilon = 1;
0409         demoOptions.RBF.wendland.Regularization = 0;
0410         % --> Kriging
0411         demoOptions.Kriging.Variogram.Type = 'gaussian';
0412         demoOptions.Kriging.Variogram.NumSamples = 100;
0413         demoOptions.Kriging.Variogram.OptimNugget = true;
0414         demoOptions.Kriging.PolynomialDegree = 0; % i.e., Ordinary Kriging
0415         demoOptions.Kriging.Regularization = 0;  
0416         % --> QuadTreePURBF
0417         demoOptions.PURBF.Domain = [-1 -1 2 2];
0418         demoOptions.PURBF.MinPointsInCell = 25;
0419         demoOptions.PURBF.MinCellSizePercent = 0.1;
0420         demoOptions.PURBF.Overlap = 0.25;
0421         % --> MLS
0422         demoOptions.MLS.PolynomialDegree = 2;
0423         demoOptions.MLS.RBF = 'wendland';
0424         demoOptions.MLS.RBFEpsilon = 1;
0425         demoOptions.MLS.MinSamples = 6;
0426         % --> Visualization
0427         demoOptions.Plot.XLabel = 'x';
0428         demoOptions.Plot.YLabel = 'y';
0429         demoOptions.Plot.ZLabel = 'z';       
0430         demoOptions.Plot.AxisEqual = false;
0431     otherwise
0432         error('Unknown sample dataset');
0433 end
0434 
0435 end

Generated on Thu 10-Dec-2020 17:34:27 by m2html © 2005