manpagez: man pages & more
info mathgl_en
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Data filling

MGL command: list DAT v1 ...

Creates new variable with name dat and fills it by numeric values of command arguments v1 .... Command can create one-dimensional and two-dimensional arrays with arbitrary values. For creating 2d array the user should use delimiter ‘|’ which means that the following values lie in next row. Array sizes are [maximal of row sizes * number of rows]. For example, command list 1 | 2 3 creates the array [1 0; 2 3]. Note, that the maximal number of arguments is 1000.

MGL command: list DAT d1 ...

Creates new variable with name dat and fills it by data values of arrays of command arguments d1 .... Command can create two-dimensional or three-dimensional (if arrays in arguments are 2d arrays) arrays with arbitrary values. Minor dimensions of all arrays in arguments should be equal to dimensions of first array d1. In the opposite case the argument will be ignored. Note, that the maximal number of arguments is 1000.

Method on mglData: void Set (const float *A, int NX, int NY=1, int NZ=1)
Method on mglData: void Set (const double *A, int NX, int NY=1, int NZ=1)
C function: void mgl_data_set_float (HMDT dat, const float *A, int NX, int NY, int NZ)
C function: void mgl_data_set_double (HMDT dat, const double *A, int NX, int NY, int NZ)

Allocates memory and copies the data from the flat float* or double* array.

Method on mglData: void Set (const float **A, int N1, int N2)
Method on mglData: void Set (const double **A, int N1, int N2)
C function: void mgl_data_set_float2 (HMDT dat, const float **A, int N1, int N2)
C function: void mgl_data_set_double2 (HMDT dat, const double **A, int N1, int N2)

Allocates memory and copies the data from the float** or double** array with dimensions N1, N2, i.e. from array defined as float a[N1][N2];.

Method on mglData: void Set (const float ***A, int N1, int N2)
Method on mglData: void Set (const double ***A, int N1, int N2)
C function: void mgl_data_set_float3 (HMDT dat, const float ***A, int N1, int N2)
C function: void mgl_data_set_double3 (HMDT dat, const double ***A, int N1, int N2)

Allocates memory and copies the data from the float*** or double*** array with dimensions N1, N2, N3, i.e. from array defined as float a[N1][N2][N3];.

Method on mglData: void Set (gsl_vector *v)
C function: void mgl_data_set_vector (HMDT dat, gsl_vector *v)

Allocates memory and copies the data from the gsl_vector * structure.

Method on mglData: void Set (gsl_matrix *m)
C function: void mgl_data_set_matrix (HMDT dat, gsl_matrix *m)

Allocates memory and copies the data from the gsl_matrix * structure.

Method on mglData: void Set (const mglData &from)
Method on mglData: void Set (HCDT from)
C function: void mgl_data_set (HMDT dat, HCDT from)

Copies the data from mglData (or mglDataA) instance from.

Method on mglData: void Set (const std::vector<int> &d)
Method on mglData: void Set (const std::vector<float> &d)
Method on mglData: void Set (const std::vector<double> &d)

Allocates memory and copies the data from the std::vector<T> array.

Method on mglData: void Set (const char *str, int NX, int NY=1, int NZ=1)
C function: void mgl_data_set_values (const char *str, int NX, int NY, int NZ)

Allocates memory and scanf the data from the string.

Method on mglData: void Link (const mglData &from)
Method on mglData: void Link (const float *A, int NX, int NY=1, int NZ=1)
C function: void mgl_data_link (HMDT dat, const float *A, int NX, int NY, int NZ)

Links external data array, i.e. don’t delete it at exit.

MGL command: var DAT num v1 [v2=nan]

Creates new variable with name dat for one-dimensional array of size num. Array elements are equidistantly distributed in range [v1, v2]. If v2=nan then v2=v1 is used.

MGL command: fill dat v1 v2 ['dir'='x']
Method on mglData: void Fill (float v1, float v2, char dir='x')
C function: void mgl_data_fill (HMDT dat, float v1, float v2, char dir)

Equidistantly fills the data values to range [v1, v2] in direction dir={‘x’,‘y’,‘z’}.

MGL command: fill dat 'eq'
MGL command: fill dat 'eq' vdat
MGL command: fill dat 'eq' vdat wdat
Method on mglData: void Fill (HMGL gr, const char *eq, const char *opt="")
Method on mglData: void Fill (HMGL gr, const char *eq, const mglData &vdat, const char *opt="")
Method on mglData: void Fill (HMGL gr, const char *eq, const mglData &vdat, const mglData &wdat, const char *opt="")
C function: void mgl_data_fill_eq (HMGL gr, HMDT dat, const char *eq, const HMDT *vdat, const HMDT *wdat, const char *opt)

Fills the value of array according to the formula in string eq. Formula is an arbitrary expression depending on variables ‘x’, ‘y’, ‘z’, ‘u’, ‘v’, ‘w’. Coordinates ‘x’, ‘y’, ‘z’ are supposed to be normalized in axis range of canvas gr (in difference from Modify functions). Variable ‘u’ is the original value of the array. Variables ‘v’ and ‘w’ are values of vdat, wdat which can be NULL (i.e. can be omitted).

MGL command: modify dat 'eq' [dim=0]
MGL command: modify dat 'eq' vdat
MGL command: modify dat 'eq' vdat wdat
Method on mglData: void Modify (const char *eq, int dim=0)
Method on mglData: void Modify (const char *eq, const mglData &v)
Method on mglData: void Modify (const char *eq, const mglData &v, const mglData &w)
C function: void mgl_data_modify (HMDT dat, const char *eq, int dim)
C function: void mgl_data_modify_vw (HMDT dat, const char *eq, HCDT v, HCDT w)

The same as previous ones but coordinates ‘x’, ‘y’, ‘z’ are supposed to be normalized in range [0,1]. If dim>0 is specified then modification will be fulfilled only for slices >=dim.

MGL command: fillsample dat 'how'
Method on mglData: void FillSample (const char *how)
mglData: void mgl_data_fill_sample (HMDT a, const char *how)

Fills data by ’x’ or ’k’ samples for Hankel (’h’) or Fourier (’f’) transform.

MGL command: put dat val [i=: j=: k=:]
Method on mglData: void Put (float val, int i=-1, int j=-1, int k=-1)
mglData: void mgl_data_put_val (HMDT a, float val, int i, int j, int k)

Sets value(s) of array a[i, j, k] = val. Negative indexes i, j, k=-1 set the value val to whole range in corresponding direction(s). For example, Put(val,-1,0,-1); sets a[i,0,j]=val for i=0...(nx-1), j=0...(nz-1).

MGL command: put dat vdat [i=: j=: k=:]
Method on mglData: void Put (const mglData &v, int i=-1, int j=-1, int k=-1)
mglData: void mgl_data_put_dat (HMDT a, HCDT v, int i, int j, int k)

Copies value(s) from array v to the range of original array. Negative indexes i, j, k=-1 set the range in corresponding direction(s). At this minor dimensions of array v should be large than corresponding dimensions of this array. For example, Put(v,-1,0,-1); sets a[i,0,j]=v.ny>nz ? v[i,j] : v[i], where i=0...(nx-1), j=0...(nz-1) and condition v.nx>=nx is true.

MGL command: idset dat 'ids'
Method on mglData: void SetColumnId (const char *ids)
mglData: void mgl_data_set_id (const char *ids)

Sets the symbol ids for data columns. The string should contain one symbol ’a’...’z’ per column. These ids are used in column function.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on April 13, 2012 using texi2html 5.0.