[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
6.7 Change data
These functions change the data in some direction like differentiations, integrations and so on. The direction in which the change will applied is specified by the string parameter, which may contain ‘x’, ‘y’ or ‘z’ characters for 1-st, 2-nd and 3-d dimension correspondengly.
- Method on
mglData
(C++, Python):void
CumSum (const char *
dir) - C function:
void
mgl_data_cumsum (HMDT
dat,const char *
dir) Cumulative summation of the data in given direction or directions.
- Method on
mglData
(C++, Python):void
Integral (const char *
dir) - C function:
void
mgl_data_integral (HMDT
dat,const char *
dir) Integrates (like cumulative summation) the data in given direction or directions.
- Метод класса
mglData
(C++, Python):void
Diff (const char *
dir) - Функция С:
void
mgl_data_diff (HMDT
dat,const char *
dir) Differentiates the data in given direction or directions.
- Метод класса
mglData
(C++, Python):void
Diff (const mglData &
x,const mglData &
y) - Метод класса
mglData
(C++, Python):void
Diff (const mglData &
x,const mglData &
y,const mglData &
z) - Функция С:
void
mgl_data_diff_par (HMDT
dat,const HMDT
x,const HMDT
y,const HMDT
z) Differentiates the data specified parametrically in direction x with y, z=constant. Parametrical differentiation uses the formula (for 2D case): da/dx = (a_j*y_i-a_i*y_j)/(x_j*y_i-x_i*y_j) where a_i=da/di, a_j=da/dj denotes usual differentiation along 1st and 2nd dimensions. The similar formula is used for 3D case. Note, that you may change the order of arguments – for example, if you have 2D data a(i,j) which depend on coordinates {x(i,j), y(i,j)} then usual derivative along ‘x’ will be
Diff(x,y);
and usual derivative along ‘y’ will beDiff(y,x);
.
- Метод класса
mglData
(C++, Python):void
Diff2 (const char *
dir) - Функция С:
void
mgl_data_diff2 (const char *
dir) Double-differentiates (like Laplace operator) the data in given direction.
- Метод класса
mglData
(C++, Python):void
SinFFT (const char *
dir) - Функция С:
void
mgl_data_sinfft (HMDT
dat,const char *
dir) Do Sine transform of the data in given direction or directions. The Sine transform is \sum a_i \sin(k i).
- Метод класса
mglData
(C++, Python):void
CosFFT (const char *
dir) - Функция С:
void
mgl_data_cosfft (HMDT
dat,const char *
dir) Do Cosine transform of the data in given direction or directions. The Cosine transform is \sum a_i \cos(k i).
- Метод класса
mglData
(C++, Python):void
Hankel (const char *
dir) - Функция С:
void
mgl_data_hankel (HMDT
dat,const char *
dir) Do Hankel transform of the data in given direction or directions. The Hankel transform is \sum a_i J_0(k i).
- Метод класса
mglData
(C++, Python):void
Swap (const char *
dir) - Функция С:
void
mgl_data_swap (HMDT
dat,const char *
dir) Swaps the left and right part of the data in given direction (useful for Fourier spectrum).
- Метод класса
mglData
(C++, Python):void
Roll (char
dir,num
) - Функция С:
void
mgl_data_roll (HMDT
dat,char
dir,num
) Rolls the data along direction dir. Resulting array will be out[i] = ini[(i+num)%nx] if
dir='x'
.
- Метод класса
mglData
(C++, Python):void
Mirror (const char *
dir) - Функция С:
void
mgl_data_mirror (HMDT
dat,const char *
dir) Mirror the left-to-right part of the data in given direction. Looks like change the value index i->n-i.
- Метод класса
mglData
(C++, Python):void
Sew (const char *
dir,float
da=2*M_PI
) - Функция С:
void
mgl_data_sew (HMDT
dat,const char *
dir,float
da) Remove value steps (like phase jumps after inverse trigonometric functions) with period da in given direction.
- Метод класса
mglData
(C++, Python):void
Smooth (int
Type,const char *
dir,float
delta=0
) - Функция С:
void
mgl_data_smooth (HMDT
dat,int
Type,float
delt,const char *
dirs) Smooths the data on specified direction or directions by method Type. Now 4 methods are supported:
SMOOTH_NONE
does nothing for delta=0 or approaches data to zero with the step delta,SMOOTH_LINE_3
linear averaging by 3 points,SMOOTH_LINE_5
linear averaging by 5 points,SMOOTH_QUAD_5
quadratic averaging by 5 points. Parameter delta forbids to change values of array more than delta from the original ones. String dirs specifies the dimensions which will be smoothed. It may contain characters: ’x’ for 1st dimension, ’y’ for 2nd dimension, ’z’ for 3d dimension.
- Метод класса
mglData
(C++, Python):void
Smooth (const char *
dir) Smooths the data on specified direction(s). This is the same as
Smooth()
but argument Type is specified in string as ‘0’ forSMOOTH_NONE
, ‘3’ forSMOOTH_LINE_3
, ‘5’ forSMOOTH_LINE_5
. If string dir don’t contain digits ‘035’ then Type=SMOOTH_QUAD_5
is used.
- Метод класса
mglData
(C++, Python):void
Envelop (char
dir='x'
) - Функция С:
void
mgl_data_envelop (HMDT
dat,char
dir) Find envelop for data values along direction dir.
- Метод класса
mglData
(C++, Python):void
Norm (float
v1=0
,float
v2=1
,bool
sym=false
,int
dim=0
) Normalizes the data to range [v1,v2]. If flag sym=
true
then symmetrical interval [-max(|v1|,|v2|), max(|v1|,|v2|)] is used. Modification will be applied only for slices >=dim.
- Метод класса
mglData
(C++, Python):void
NormSl (float
v1=0
,float
v2=1
,char
dir='z'
,bool
keep_en=true
,bool
sym=false
) - Функция С:
void
mgl_data_norm_slice (HMDT
dat,float
v1,float
v2,char
dir,int
keep_en,int
sym) Normalizes data slice-by-slice along direction dir the data in slices to range [v1,v2]. If flag sym=
true
then symmetrical interval [-max(|v1|,|v2|), max(|v1|,|v2|)] is used. If keep_en is set then maximal value of k-th slice will be limited by \sqrt\sum a_ij(k)/\sum a_ij(0).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |