Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
DataArray1D Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are equidistant or non equidistant distributed in R^1 More...

Inheritance diagram for DataArray1D:

Public Member Functions

void AppendDataArray1D (DataArray1D arrayToAppend, bool coordinateOfLastIntervalsUpperLimitDeterminesPosition)
 Appends a given data array to this.
 
override object Clone ()
 Deep copy.
 
double CoordinateOfDataPointIndex (long index)
 Gives the coordinate of a certain data point as double.
 
PhysicalValue CoordinateOfDataPointIndex_asPValue (long index)
 Gives the coordinate of a certain data point as PhysicalValue.
 
 DataArray1D (ComplexField1DArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinates, MeasuredQuantity measuredQuantityOfCoordinates, string commentOfCoordinates, double coordinateOfLastIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolation=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for non-equidistant data.
 
 DataArray1D (ComplexField1DArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, double samplingDistance, double coordinateOfFirstDataPoint, MeasuredQuantity measuredQuantityOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolation=InterpolationMethod.Nearest)
 Constructor for equidistant data.
 
 DataArray1D (ComplexField1DArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinates, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, double coordinateOfLastIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolation=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for non-equidistant data.
 
 DataArray1D (ComplexField1DArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, double samplingDistance, double coordinateOfFirstDataPoint, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolation=InterpolationMethod.Nearest)
 Constructor for equidistant data.
 
 DataArray1D (DataArray1D dataArray)
 Copy constructor.
 
 DataArray1D (double[,] coordinatesAndData, PhysicalProperty physicalPropertyOfData, string commentOfData, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, double coordinateOfLastIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolation=InterpolationMethodForNonequidistantData.ConstantInterval)
 Special constructor for non-equidistant data, that are stored in a double[,] array. Only one subset is used, i.e. N = 1.
 
 DataArray1D (double[] data, PhysicalProperty physicalPropertyOfData, string commentOfData, double samplingDistance, double coordinateOfFirstDataPoint, PhysicalProperty physicalPropertyOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolation=InterpolationMethod.Nearest)
 Special constructor for equidistant data, that are stored in a double[] array. Only one subset is used, i.e. N = 1.
 
void Dispose ()
 Frees all memory that is used for the data.
 
DataArray1D EmbedExtract (int numberOfDataPoints)
 // Method to perform an embed/extract operation on the data array. //
 
DataArray1D EmbedExtract (int startPoint, int extractSize)
 Method to embed or extract a given data point range from this.
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Checks whether two DataArray1D objects are equal.
 
virtual void EquidistantToNonEquidistant (bool forNN_convertCenterCoordinateInsteadOfIntervalBorder)
 If this data array is equidistant, this conversion method makes it non equidistant. This is done by calculating the member NonequidistantCoordinates from CoordinateOfFirstDataPoint, SamplingDistance and the respective index.
 
PhysicalValueRange GetCoordinateRange (bool boundaryExtrapolation)
 Gets the whole range of coordinates (coordinate extent).
 
override FormDocument GetNewDocumentWindow (Form formMain, string fileName)
 
override string HeaderInformation (int subSetID, TextExportImportSettings exportSettings, FieldQuantity? quantityForInformation=null)
 Public method to get the export header (data meaning and sampling parameters) for a specific data array.
 
long IndexOfDataPointAtCoordinate (double coord, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the index of that data point which corresponds to a given coordinate.
 
long IndexOfDataPointAtCoordinate (double coord, long startIndex, long endIndex, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the index of that data point which corresponds to a given coordinate.
 
void MultiplyFactorOnData (double factor)
 Public method to multiply a factor onto all data subsets.
 
virtual Complex[] PointInterpolation (double coord, bool enforceSteppedInterpolation, long startIndex, long endIndex, out long correspondingDataPointIndex, out bool coordinateOutsideCoordinateRange)
 Gives the interpolated complex value for a given coordinate.
 
virtual Complex[] PointInterpolation (double coord, bool enforceSteppedInterpolation, out long correspondingDataPointIndex, out bool coordinateOutsideCoordinateRange)
 Gives the interpolated complex value for a given coordinate.
 
void SetDataWithPropertiesAndCommentsAtOnce (ComplexField1DArray data, MeasuredQuantity[] properties, string[] comments, string[] dataPointLabels)
 Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.
 
override void SetDataWithPropertiesAndCommentsAtOnce (ComplexField[] data, MeasuredQuantity[] measuredQuantitiesOfDataEntries, string[] commentsOfDataEntries)
 
virtual void ShiftCoordinates (double coordinateShift)
 Public method to perform a shift on the coordinates of the data array.
 
DataArray1D TransformCoordinates (RealFunctionWithSingleArgument trafo, bool forNN_convertCenterCoordinateInsteadOfIntervalBorder, double lastIntervalSizeForSpecialHandlingOfDiscontinuity)
 Method for transforming this data array's coordinates using a transform function .
 

Static Public Member Functions

static DataArray1D CreateDataArray1D_fromComplexArray (Complex[,] dataMatrix, bool createRealValuedResult, bool dataInColumns, MeasuredQuantity[] quantitiesOfData, string[] commentsOfData, MeasuredQuantity quantityOfCoordinates, string commentOfCoordinates, ExtrapolationInfo extrapolation, ref(double samplingDistance, double startCoordinate, InterpolationMethod interpolation)? sampling_equidist,(double coordOfLastIntUpperLimit, InterpolationMethodForNonequidistantData nonEquidistantInterpolation)? sampling_nonEquidist)
 Method which converts complex data (double precision, usually read from a text file) into a 1D data array.
 
static bool operator!= (DataArray1D da1, DataArray1D da2)
 Checks whether two DataArray1D objects are unequal.
 
static DataArray1D operator* (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator * for multiplication of two one-dimensional data arrays.
 
static DataArray1D operator+ (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator + for addition of two one-dimensional data arrays.
 
static DataArray1D operator- (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator - for subtraction of two one-dimensional data arrays.
 
static DataArray1D operator/ (DataArray1D dataArray1, DataArray1D dataArray2)
 Implements the operator / for division of two one-dimensional data arrays.
 
static bool operator== (DataArray1D da1, DataArray1D da2)
 Checks whether two DataArray1D objects are equal.
 

Properties

double BiggestCoordinateStep [get]
 Gets the biggest occurring distance between two neighbored coordinates. (So in the equidistant case, this is identical to SamplingDistance.)
 
virtual string CommentOfCoordinates [get, set]
 Get and set the comment for the coordinates.
 
override string[] CommentsOfDataEntries [get, set]
 Get and set the comments for each data subset.
 
virtual double CoordinateOfFirstDataPoint [get, set]
 Gets and sets the coordinate of the first data point.
 
double CoordinateOfLastDataPoint [get]
 Gets the coordinate of the last data point.
 
double CoordinateOfLastIntervalsUpperLimit [get, set]
 Get and set the coordinate of the last interval's upper limit. This is needed if non equidistantly sampled data shall be interpolated with the method 'ConstantInterval'. For this method the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints-1), CoordinateOfLastIntervalsUpperLimit[.
 
ComplexField1DArray Data [get, set]
 Get and set the data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
 
override DataArrayType DataArrayType [get]
 public property to get the data array type of the current data array
 
override int DimensionalityOfCoordinates [get]
 Dimensionality M of the space of independent variables R^M, which is always 1 for DataArray1D.
 
override int DimensionalityOfData [get]
 Dimensionality of the space of data values C^N, i.e. the number of subsets N.
 
override ExtrapolationInfo ExtrapolationHandling [get, set]
 The extrapolation handling.
 
virtual InterpolationMethod InterpolationMethodForEquidistantSampling [get, set]
 Get and set the method used for interpolation in case of equidistant sampling.
 
InterpolationMethodForNonequidistantData InterpolationMethodForNonequidistantSampling [get, set]
 Gets and sets the method used for interpolation in case of non equidistant sampling. For the method 'ConstantInterval' the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints-1), CoordinateOfLastIntervalsUpperLimit[.
 
override bool IsComplex [get]
 Are the values defined in C^N (TRUE) or in the subset of real numbers R^N (FALSE)? Returns TRUE if any of the data entries is complex.
 
virtual bool IsEquidistant [get, set]
 Get and set whether the data are sampled equidistantly.
 
virtual MeasuredQuantity MeasuredQuantityOfCoordinates [get, set]
 Gets and sets the measured quantity of the coordinates.
 
CFieldDerivative1DReal NonequidistantCoordinates [get, set]
 Get and set the coordinates for the data in R^1. IMPORTANT: This property applies for non equidistant data only! If you need to get the coordinate for one index for equidistant as well as for non equidistant data, use the method CoordinateOfDataPointIndex(long index) instead! For setting pay attention to the following restrictions: value must not be complex and value.SamplingPointsOneD has to be equal to NoOfDataPoints.
 
int NoOfDataPoints [get]
 Get the number of data values stored.
 
override bool NoSmoothingInterpolationMethod [get]
 Gets a flag indicating whether or not the interpolation method isn't smoothing (like nearest neighbor or constant interval) -> TRUE or if it does (like all other methods) -> FALSE.
 
PhysicalProperty PhysicalPropertyOfCoordinates [get, set]
 Get and set the physical property for the coordinates.
 
virtual double SamplingDistance [get, set]
 Gets and sets the sampling distance for (and only for) equidistantly sampled data.
 
double SmallestCoordinateStep [get]
 Gets the smallest occurring distance between two neighbored coordinates. (So in the equidistant case, this is identical to SamplingDistance.)
 
override string SuffixForPhysicalMeaning [get]
 Property which gives the suffix which is used in FormPhysicalObjectBase.SetTypeOfPhysicalObject.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store data in C^N which are equidistant or non equidistant distributed in R^1

Constructor & Destructor Documentation

◆ DataArray1D() [1/7]

DataArray1D ( ComplexField1DArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinates,
MeasuredQuantity  measuredQuantityOfCoordinates,
string  commentOfCoordinates,
double  coordinateOfLastIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolation = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for non-equidistant data.

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
coordinatesNon-equidistant coordinates for the data in R^1.
measuredQuantityOfCoordinatesMeasured quantity for the coordinates
commentOfCoordinatesComment for the coordinates
coordinateOfLastIntervalsUpperLimitCoordinate of the last interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [2/7]

DataArray1D ( ComplexField1DArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinates,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
double  coordinateOfLastIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolation = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for non-equidistant data.

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
coordinatesNon-equidistant coordinates for the data in R^1.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
coordinateOfLastIntervalsUpperLimitCoordinate of the last interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [3/7]

DataArray1D ( double  coordinatesAndData[,],
PhysicalProperty  physicalPropertyOfData,
string  commentOfData,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
double  coordinateOfLastIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolation = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Special constructor for non-equidistant data, that are stored in a double[,] array. Only one subset is used, i.e. N = 1.

Parameters
coordinatesAndDataThe coordinates and the real valued data. The method determines automatically whether the array is organized as [2,n] or [n,2], with n = number of data points. The coordinates have to be stored in [0,n] or [n,0] and the data have to be stored in [1,n] or [n,1].
physicalPropertyOfDataPhysical properties of each data subset.
commentOfDataComments for each data subset.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
coordinateOfLastIntervalsUpperLimitCoordinate of the last interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [4/7]

DataArray1D ( double[]  data,
PhysicalProperty  physicalPropertyOfData,
string  commentOfData,
double  samplingDistance,
double  coordinateOfFirstDataPoint,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolation = InterpolationMethod::Nearest 
)

Special constructor for equidistant data, that are stored in a double[] array. Only one subset is used, i.e. N = 1.

Parameters
dataThe data in C^1. The double values will be filled into one real valued subset.
physicalPropertyOfDataPhysical properties of each data subset.
commentOfDataComments for each data subset.
samplingDistanceSampling distance for (and only for) equidistantly sampled data.
coordinateOfFirstDataPointCoordinate of the first data point Data[0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.

◆ DataArray1D() [5/7]

DataArray1D ( ComplexField1DArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
double  samplingDistance,
double  coordinateOfFirstDataPoint,
MeasuredQuantity  measuredQuantityOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolation = InterpolationMethod::Nearest 
)

Constructor for equidistant data.

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceSampling distance for (and only for) equidistantly sampled data.
coordinateOfFirstDataPointCoordinate of the first data point Data[0] for (and only for) equidistantly sampled data.
measuredQuantityOfCoordinatesMeasured quantity for the coordinates
commentOfCoordinatesComment for the coordinates
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.
Exceptions
ArgumentExceptionEmpty data. or Sampling Distance has to be greater than zero.

◆ DataArray1D() [6/7]

DataArray1D ( ComplexField1DArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
double  samplingDistance,
double  coordinateOfFirstDataPoint,
PhysicalProperty  physicalPropertyOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolation = InterpolationMethod::Nearest 
)

Constructor for equidistant data.

Parameters
dataThe data in C^N. Each single 1D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceSampling distance for (and only for) equidistantly sampled data.
coordinateOfFirstDataPointCoordinate of the first data point Data[0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesPhysical property for the coordinates
commentOfCoordinatesComment for the coordinates
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationThe interpolation method to be used.
Exceptions
ArgumentExceptionEmpty data. or Sampling Distance has to be greater than zero.

◆ DataArray1D() [7/7]

DataArray1D ( DataArray1D  dataArray)

Copy constructor.

Parameters
dataArrayData array to copy

Member Function Documentation

◆ AppendDataArray1D()

void AppendDataArray1D ( DataArray1D  arrayToAppend,
bool  coordinateOfLastIntervalsUpperLimitDeterminesPosition 
)

Appends a given data array to this.

Parameters
arrayToAppendArray to append to this one.
coordinateOfLastIntervalsUpperLimitDeterminesPositionShall this.CoordinateOfLastIntervalsUpperLimit determine the position of the appended data array?

◆ Clone()

override object Clone ( )

Deep copy.

Returns
Copy of data array

◆ CoordinateOfDataPointIndex()

double CoordinateOfDataPointIndex ( long  index)

Gives the coordinate of a certain data point as double.

Parameters
indexIndex of the data point to get the coordinate for.
Returns
Coordinate of the data point as double

◆ CoordinateOfDataPointIndex_asPValue()

PhysicalValue CoordinateOfDataPointIndex_asPValue ( long  index)

Gives the coordinate of a certain data point as PhysicalValue.

Parameters
indexIndex of the data point to get the coordinate for.
Returns
Coordinate of the data point as PhysicalValue

◆ CreateDataArray1D_fromComplexArray()

static DataArray1D CreateDataArray1D_fromComplexArray ( Complex  dataMatrix[,],
bool  createRealValuedResult,
bool  dataInColumns,
MeasuredQuantity[]  quantitiesOfData,
string[]  commentsOfData,
MeasuredQuantity  quantityOfCoordinates,
string  commentOfCoordinates,
ExtrapolationInfo  extrapolation,
ref(double samplingDistance, double startCoordinate, InterpolationMethod interpolation)?  sampling_equidist,
(double coordOfLastIntUpperLimit, InterpolationMethodForNonequidistantData nonEquidistantInterpolation)?  sampling_nonEquidist 
)
static

Method which converts complex data (double precision, usually read from a text file) into a 1D data array.

Parameters
dataMatrixAn array of data which holds the raw values, usually read from a text file.
createRealValuedResultIf true, the result will be real-valued, no matter if there are imaginary parts given or not.
sampling_equidistIf not null, an equidistantly sampled data array will be created with the given sampling distance and start coordinate. If null, a non-equidistantly sampled data array will be created. The coordinates will be read from first row or column (depending on dataInColumns parameter), then.
sampling_nonEquidistIn case no sampling_equidist parameter is given, this parameter is needed for specific settings of a non-equidistant data array.
dataInColumnsIf true, the columns (first running index in dataMatrix) will be interpreted as subsets (and coordinate column if no samplingDistance given). Otherwise, the rows (second running index in dataMatrix) will be interpreted the same way.
quantitiesOfDataThe measured quantities to be set to the subsets which are read from the file.
commentsOfDataThe comments to be set to the subsets which are read from the file.
quantityOfCoordinatesThe measured quantity to be set to the coordinates.
commentOfCoordinatesThe comment to be set to the coordinates.
extrapolationThe extrapolation info.
Returns
A 1D data array, created from an array of double values.

◆ EmbedExtract() [1/2]

DataArray1D EmbedExtract ( int  numberOfDataPoints)

// Method to perform an embed/extract operation on the data array. //

//

Parameters
numberOfDataPointsThe number of the data points to be used for the embed/extract operation. // If it is greater than this.NoOfDataPoints, the data array will be embedded, otherwise the given number of data points will be extracted.

Method to embed or extract a given data point range from this.

Parameters
numberOfDataPointsThe number of the data points to be used for the embed/extract operation. // If it is greater than this.NoOfDataPoints, the data array will be embedded, otherwise the given number of data points will be extracted.
Returns
Exceptions
ArgumentException

◆ EmbedExtract() [2/2]

DataArray1D EmbedExtract ( int  startPoint,
int  extractSize 
)

Method to embed or extract a given data point range from this.

Parameters
startPointData point index to start the extraction with (zero based!).
extractSizeNumber of data point to be extracted.
Returns
A data array with the extracted data.
Exceptions
ExceptionEmbed Extract is only available for equidistant data arrays.
ArgumentExceptionThe extraction size has to be larger than zero.

◆ Equals()

override bool Equals ( object  obj,
EqualityIntent  equalityIntent 
)

Checks whether two DataArray1D objects are equal.

Parameters
objThe System.Object to compare with this instance.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
true if the specified System.Object is equal to this instance; otherwise, false.

◆ EquidistantToNonEquidistant()

virtual void EquidistantToNonEquidistant ( bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder)
virtual

If this data array is equidistant, this conversion method makes it non equidistant. This is done by calculating the member NonequidistantCoordinates from CoordinateOfFirstDataPoint, SamplingDistance and the respective index.

Parameters
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted. This is usually needed for subsequent coordinate transformations only.

◆ GetCoordinateRange()

PhysicalValueRange GetCoordinateRange ( bool  boundaryExtrapolation)

Gets the whole range of coordinates (coordinate extent).

Parameters
boundaryExtrapolationIf set, the method works as if the interpolation method were set to Nearest Neighbor or Constant Interval, resp. That means for equidistant data an extrapolation of half a sampling distance below the coordinates minimum and above the coordinates maximum. For non equidistant data it means an extrapolation between the coordinates maximum and CoordinateOfLastIntervalsUpperLimit. If the interpolation method is Nearest Neighbor or Constant Interval resp., this flag has no meaning, because extrapolation will be done anyway. If the 'array size' (range between first and last data point's coordinate) is needed for Nearest Neighbor or Constant Interval, it has to be calculated from CoordinateOfFirstDataPoint and CoordinateOfLastDataPoint.
Returns
The coordinate range.

◆ HeaderInformation()

override string HeaderInformation ( int  subSetID,
TextExportImportSettings  exportSettings,
FieldQuantity quantityForInformation = null 
)

Public method to get the export header (data meaning and sampling parameters) for a specific data array.

Parameters
subSetIDThe ID of the subset for which the header information shall be extracted.
exportSettingsThe text export settings (header indicator, decimal separator and so on).
quantityForInformationOptional FieldQuantity for which the header information shall be generated.
Returns
The export header string for the subset within the DataArray which has the subSetID.

◆ IndexOfDataPointAtCoordinate() [1/2]

long IndexOfDataPointAtCoordinate ( double  coord,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the index of that data point which corresponds to a given coordinate.

Parameters
coordcoordinate to get the corresponding data point's index for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. Important: This flag does not affect the returned index but only the out flag which indicates whether or not the given coordinate is outside the valid coordinate range!
coordinatesOutsideGivenIndexRangeflag indicating whether the given coordinate lies outside the valid range (defined by the number of data points)
Returns
the index of that data point which corresponds to the given coordinate

◆ IndexOfDataPointAtCoordinate() [2/2]

long IndexOfDataPointAtCoordinate ( double  coord,
long  startIndex,
long  endIndex,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the index of that data point which corresponds to a given coordinate.

Parameters
coordcoordinate to get the corresponding data point's index for
startIndexindex to begin the search at
endIndexindex to stop the search at
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. Important: This flag does not affect the returned index but only the out flag which indicates whether or not the given coordinate is outside the valid coordinate range!
coordinatesOutsideGivenIndexRangeflag indicating whether the given coordinate lies outside the valid range (defined by startIndex and endIndex)
Returns
the index of that data point which corresponds to the given coordinate

◆ MultiplyFactorOnData()

void MultiplyFactorOnData ( double  factor)

Public method to multiply a factor onto all data subsets.

Parameters
factorThe factor which shall be used for multiplication

◆ operator!=()

static bool operator!= ( DataArray1D  da1,
DataArray1D  da2 
)
static

Checks whether two DataArray1D objects are unequal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays differ in at least one property or variable.

◆ operator*()

static DataArray1D operator* ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator * for multiplication of two one-dimensional data arrays.

Parameters
dataArray1The first factor.
dataArray2The second factor.
Returns
The result of the multiplication.

◆ operator+()

static DataArray1D operator+ ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator + for addition of two one-dimensional data arrays.

Parameters
dataArray1The first summand.
dataArray2The second summand.
Returns
The result of the addition.

◆ operator-()

static DataArray1D operator- ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator - for subtraction of two one-dimensional data arrays.

Parameters
dataArray1The minuend.
dataArray2The subtrahend.
Returns
The result of the subtraction.

◆ operator/()

static DataArray1D operator/ ( DataArray1D  dataArray1,
DataArray1D  dataArray2 
)
static

Implements the operator / for division of two one-dimensional data arrays.

Parameters
dataArray1The dividend.
dataArray2The divisor.
Returns
The result of the division.

◆ operator==()

static bool operator== ( DataArray1D  da1,
DataArray1D  da2 
)
static

Checks whether two DataArray1D objects are equal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays represent exactly the same data.

◆ PointInterpolation() [1/2]

virtual Complex[] PointInterpolation ( double  coord,
bool  enforceSteppedInterpolation,
long  startIndex,
long  endIndex,
out long  correspondingDataPointIndex,
out bool  coordinateOutsideCoordinateRange 
)
virtual

Gives the interpolated complex value for a given coordinate.

Parameters
coordcoordinate to interpolate the value for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
startIndexStart index for search
endIndexEnd index for search
correspondingDataPointIndexGives the index of the corresponding data point.
coordinateOutsideCoordinateRangeFlag indicating whether or not the given coordinate lies outside the coordinate range of this data array.
Returns
interpolated complex value for the given coordinate

◆ PointInterpolation() [2/2]

virtual Complex[] PointInterpolation ( double  coord,
bool  enforceSteppedInterpolation,
out long  correspondingDataPointIndex,
out bool  coordinateOutsideCoordinateRange 
)
virtual

Gives the interpolated complex value for a given coordinate.

Parameters
coordcoordinate to interpolate the value for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
correspondingDataPointIndexGives the index of the corresponding data point.
coordinateOutsideCoordinateRangeFlag indicating whether or not the given coordinate lies outside the coordinate range of this data array.
Returns
interpolated complex value for the given coordinate

◆ SetDataWithPropertiesAndCommentsAtOnce()

void SetDataWithPropertiesAndCommentsAtOnce ( ComplexField1DArray  data,
MeasuredQuantity[]  properties,
string[]  comments,
string[]  dataPointLabels 
)

Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.

Parameters
dataData to set.
propertiesPhysicalPropertiesOfDataEntries to set.
commentsCommentsOfDataEntries to set.
dataPointLabelsData point labels. May be null.

◆ ShiftCoordinates()

virtual void ShiftCoordinates ( double  coordinateShift)
virtual

Public method to perform a shift on the coordinates of the data array.

Parameters
coordinateShiftThe value of the shift to be performed.

◆ TransformCoordinates()

DataArray1D TransformCoordinates ( RealFunctionWithSingleArgument  trafo,
bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder,
double  lastIntervalSizeForSpecialHandlingOfDiscontinuity 
)

Method for transforming this data array's coordinates using a transform function .

Parameters
trafoDelegate for the function to be used for the coordinates transformation. IMPORTANT: the transformation function has to be strictly monotonic (in the coordinates domain of definition)!
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted.
lastIntervalSizeForSpecialHandlingOfDiscontinuityIn case of an original data array which is 1) non-equidistant, 2) non-constantly interpolated, 3) extrapolated with a constant, there may occur a discontinuity at the first coordinate (= jump from the extrapolation constant to the value of the first coordinate). If such a data array shall be transformed with a function which is monotonic decreasing, this discontinuity/jump cannot be preserved, due to the nature of the data storage in data arrays. This parameter will provide an additional interval size within which the value of the last coordinate (formerly first coordinate) will change to the extrapolation constant instead of jumping.
Returns
Data array with transformed coordinates.

Property Documentation

◆ MeasuredQuantityOfCoordinates

virtual MeasuredQuantity MeasuredQuantityOfCoordinates
getset

Gets and sets the measured quantity of the coordinates.