42 static const FileTrajectoryDataFolder =
"trajectories";
44 static const FileTrajectoryIncompleteDataFolder =
"trajectories_incomplete";
46 static const FileTrajectoryFxiDataFolder =
"trajectories_fx";
48 static const SimCacheDataFolder =
"simcache";
182 data_dir = fullfile(
KerMor.
App.TempDirectory,sprintf(
" temp_md_%s ",...
184 elseif isa(varargin[1],
" models.BaseFullModel ")
187 if length(varargin) > 1 && ischar(varargin[2])
188 basedir = varargin[2];
190 data_dir = fullfile(basedir,sprintf(
" %s_id-%s ",m.SaveTag,m.ID));
191 elseif ischar(varargin[1])
192 data_dir = varargin[1];
194 error(
" Invalid argument: %s ",
class(varargin[1]));
196 this =
this@data.FileData(data_dir);
203 this.
SimCache= data.FileTrajectoryData(fullfile(data_dir,this.SimCacheDataFolder));
205 this.
SimCache.UniformTrajectories=
false;
225 if ~isa(V,
" data.FileMatrix ")
228 if ~isempty(W) && ~isa(W,
" data.FileMatrix ")
231 s = data.ProjectionSpace(V,W,dims);
297 delete@data.FileData(
this);
305 fprintf(2,
" No directory selected. Aborting.\n ");
312 fullfile(new_dir,this.FileTrajectoryDataFolder));
316 fullfile(new_dir,this.FileTrajectoryIncompleteDataFolder));
320 fullfile(new_dir,this.FileTrajectoryFxiDataFolder));
324 fullfile(new_dir,this.SimCacheDataFolder));
337 relocate@data.FileData(
this, new_dir);
355 if ~overwrite && isa(this.
TrajectoryData,
" data.FileTrajectoryData ")
356 error(
" TrajectoryData already is a data.FileTrajectoryData. Use 'true' parameter to overwrite. ");
367 error(
" TrajectoryIncompleteData already is a data.FileTrajectoryData. Use 'true' parameter to overwrite. ");
372 fullfile(this.
DataDirectory,this.FileTrajectoryIncompleteDataFolder));
378 error(
" TrajectoryFxiData already is a data.FileTrajectoryData. Use 'true' parameter to overwrite. ");
383 fullfile(this.
DataDirectory,this.FileTrajectoryFxiDataFolder));
400 function [doublet , matrix<double>y , colvec<double>mu , integerinputidx , ct ] =
getCachedTrajectory(nr) {
401 [y, mu, inputidx, ct] = this.
SimCache.getTrajectoryNr(nr);
419 if ~isa(
this,
" data.ModelData ")
421 this = data.ModelData(initfrom.fDataDir);
422 this =
loadobj@data.FileData(
this,initfrom);
423 if isfield(initfrom,
" V ") && ~isempty(initfrom.V)
427 this =
loadobj@data.FileData(
this);
430 fprintf(2,
" If you have moved the folder or attempt to load data on a different machine, use the ModelData.relocate method.\n ");
448 #if 0 //mtoc++: 'get.SampleCount'
457 #if 0 //mtoc++: 'set.ApproxTrainData'
459 if ~isempty(value) && ~isa(value,
" data.ApproxTrainData ")
463 this.ApproxTrainData= [];
464 this.ApproxTrainData= value;
472 #if 0 //mtoc++: 'set.TrajectoryData'
474 if ~isempty(value) && ~isa(value,
" data.ATrajectoryData ")
475 error(" The
TrajectoryData must be a data.ATrajectoryData subclass. ");
480 this.TrajectoryData= [];
481 this.TrajectoryData= value;
489 #if 0 //mtoc++: 'set.JacobianTrainData'
491 if ~isempty(value) && ~isa(value,
" data.ApproxTrainData ")
495 this.JacobianTrainData= [];
496 this.JacobianTrainData= value;
504 #if 0 //mtoc++: 'set.ProjectionSpaces'
506 if ~isempty(value) && ~isa(value,
" data.ProjectionSpace ")
507 error(" Value has to be a data.ProjectionSpace instance/array ");
Collection of generally useful functions.
static function gen = generateID()
Generates a new unique ID.
function useFileTrajectoryData(logical overwrite)
Sets the TrajectoryData and TrajectoryFxiData classes to filesystem based versions.
matrix< double > InputSpaceSpan
The orthonormalized vectors spanning the space of the input components.
SampleCount
The number of samples contained in the model data.
function relocate(char new_dir)
Convenience method. Relocates the xi and fxi FileMatrix instances if present.
colvec< data.ProjectionSpace > ProjectionSpaces
Array of ProjectionSpace instances that contains all the separate linear projection spaces computed d...
matrix ParamSamples
A Model's parameter samples as column vector collection.
function transferFrom(data.ATrajectoryData source)
Transfers the data from one ATrajectoryData instance to another.
data.FileDataCollection TrajectoryFxiData
Evaluations of the system's nonlinearity on the trajectoriy data.
struct JacSimTransData
A struct containing precomputed values regarding the similarity transform of the jacobians in the con...
static function this = loadobj()
Loads the ModelData with automatic relocation for different hosts.
function relocate(char new_dir)
Relocates this ModelData instances filesystem-bound quantities to a new location. ...
function relocate(char new_root)
Relocates this FileData instance to a different folder.
A variable number of input arguments.
function idx = getSampleIndex(colvec< double > mu)
Finds the column index of the given parameter vector within the Data's ParamSamples matrix...
FileData: Base class for access of files stored in a specific folder in the local file system...
FileDataCollection: Basic class for storing data given a hashable key value.
function addProjectionSpace(V, W, dims)
Adds a new projection space to the model data instance.
char DataDirectory
The root folder where the FileData's files are saved.
ModelData(varargin)
Creates a new container for large full model data.
static function folder = getDir(caption, initial_path)
Prompts the user to select a directory.
data.ApproxTrainData JacobianTrainData
Training data for the jacobian approximation.
Data class that contains a model's large data, including subspace matrices, trajectories and approxim...
Global configuration class for all KerMor run-time settings.
function matrix< double > mu = getParams(rowvec< int32 > idx)
Returns parameters for given indices.
ApproxTrainData: Data class for approximation training data, containing several useful bounding box p...
static function KerMor theinstance = App()
The singleton KerMor instance.
data.ApproxTrainData ApproxTrainData
Training data for the core function approximation.
Data class that contains a model's large data, including subspace matrices, trajectories and approxim...
data.ATrajectoryData TrajectoryIncompleteData
The incomplete trajectory training data for the full model is saved separately.
data.ATrajectoryData TrajectoryData
The trajectory training data for the full model (only complete trajectories!)
function [ double t , matrix< double > y , colvec< double > mu , integer inputidx , ct ] = getCachedTrajectory(nr)
Shorthand for retrieval of cached trajectories that have been created during simulations of a models...