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

6.4 Заполнение данных

Команда MGL: list DAT v1 ...

Создает новый массив данных dat и заполняет его числовыми значениями аргументов v1 .... Команда может создавать одно- и двухмерные массивы с произвольными значениями. Для создания 2d массива следует использовать разделитель ‘|’, который означает начало новой строки данных. Размер массива данных будет [maximal of row sizes * number of rows]. Например, команда list 1 | 2 3 создаст массив [1 0; 2 3]. Замечу, что максимальное число аргументов равно 1000.

Команда MGL: list DAT d1 ...

Создает новый массив данных dat и заполняет его значениями из массивов d1 .... Команда может создавать двух- и трёхмерные (если аргументы – двумерные массивы) массивы. Меньшая размерность всех массивов в аргументах должна совпадать. В противном случае аргумент (массив) будет пропущен.

Метод класса mglData: void Set (const mreal *A, int NX, int NY=1, int NZ=1)
Метод класса mglData: void Set (const double *A, int NX, int NY=1, int NZ=1)
Функция С: void mgl_data_set_mreal (HMDT dat, const mreal *A, int NX, int NY, int NZ)
Функция С: void mgl_data_set_double (HMDT dat, const double *A, int NX, int NY, int NZ)
Метод класса mglDataC: void Set (const float *A, int NX, int NY=1, int NZ=1)
Метод класса mglDataC: void Set (const double *A, int NX, int NY=1, int NZ=1)
Метод класса mglDataC: void Set (const dual *A, int NX, int NY=1, int NZ=1)
Функция С: void mgl_datac_set_float (HADT dat, const mreal *A, int NX, int NY, int NZ)
Функция С: void mgl_datac_set_double (HADT dat, const double *A, int NX, int NY, int NZ)
Функция С: void mgl_datac_set_complex (HADT dat, const dual *A, int NX, int NY, int NZ)

Выделяет память и копирует данные из массивов типа mreal* или double*, т.е. из массивов определённых как mreal a[NX*NY*NZ];.

Метод класса mglData: void Set (const mreal **A, int N1, int N2)
Метод класса mglData: void Set (const double **A, int N1, int N2)
Функция С: void mgl_data_set_mreal2 (HMDT dat, const mreal **A, int N1, int N2)
Функция С: void mgl_data_set_double2 (HMDT dat, const double **A, int N1, int N2)

Выделяет память и копирует данные из массивов типа mreal** или double** с размерностями N1, N2, т.е. из массивов определённых как mreal a[N1][N2];.

Метод класса mglData: void Set (const mreal ***A, int N1, int N2)
Метод класса mglData: void Set (const double ***A, int N1, int N2)
Функция С: void mgl_data_set_mreal3 (HMDT dat, const mreal ***A, int N1, int N2)
Функция С: void mgl_data_set_double3 (HMDT dat, const double ***A, int N1, int N2)

Выделяет память и копирует данные из массивов типа mreal*** или double*** с размерностями N1, N2, N3, т.е. из массивов определённых как mreal a[N1][N2][N3];.

Метод класса mglData: void Set (gsl_vector *v)
Метод класса mglDataC: void Set (gsl_vector *v)
Функция С: void mgl_data_set_vector (HMDT dat, gsl_vector *v)
Функция С: void mgl_datac_set_vector (HADT dat, gsl_vector *v)

Выделяет память и копирует данные из структуры типа gsl_vector *.

Метод класса mglData: void Set (gsl_matrix *m)
Метод класса mglDataC: void Set (gsl_matrix *m)
Функция С: void mgl_data_set_matrix (HMDT dat, gsl_matrix *m)
Функция С: void mgl_datac_set_matrix (HADT dat, gsl_matrix *m)

Выделяет память и копирует данные из структуры типа gsl_matrix *.

Метод класса mglData: void Set (const mglData &from)
Метод класса mglData: void Set (HCDT from)
Функция С: void mgl_data_set (HMDT dat, HCDT from)
Метод класса mglDataC: void Set (const mglDataA &from)
Метод класса mglDataC: void Set (HCDT from)
Функция С: void mgl_datac_set (HADT dat, HCDT from)

Выделяет память и копирует данные из другого экземпляра данных from.

Метод класса mglDataC: void Set (const mglDataA &re, const mglDataA &im)
Метод класса mglDataC: void Set (HCDT re, HCDT im)
Метод класса mglDataC: void SetAmpl (HCDT ampl, const mglDataA &phase)
Функция С: void mgl_datac_set_ri (HADT dat, HCDT re, HCDT im)
Функция С: void mgl_datac_set_ap (HADT dat, HCDT ampl, HCDT phase)

Выделяет память и копирует данные из экземпляра данных для действительной re и мнимой im частей комплексного массива данных.

Метод класса mglData: void Set (const std::vector<int> &d)
Метод класса mglDataC: void Set (const std::vector<int> &d)
Метод класса mglData: void Set (const std::vector<float> &d)
Метод класса mglDataC: void Set (const std::vector<float> &d)
Метод класса mglData: void Set (const std::vector<double> &d)
Метод класса mglDataC: void Set (const std::vector<double> &d)
Метод класса mglDataC: void Set (const std::vector<dual> &d)

Выделяет память и копирует данные из массива типа std::vector<T>.

Метод класса mglData: void Set (const char *str, int NX, int NY=1, int NZ=1)
Функция С: void mgl_data_set_values (const char *str, int NX, int NY, int NZ)
Метод класса mglDataC: void Set (const char *str, int NX, int NY=1, int NZ=1)
Функция С: void mgl_datac_set_values (const char *str, int NX, int NY, int NZ)

Выделяет память и сканирует массив данных из строки.

Метод класса mglData: void Link (mglData &from)
Метод класса mglData: void Link (mreal *A, int NX, int NY=1, int NZ=1)
Функция С: void mgl_data_link (HMDT dat, const mreal *A, int NX, int NY, int NZ)
Метод класса mglDataC: void Link (mglDataC &from)
Метод класса mglDataC: void Link (dual *A, int NX, int NY=1, int NZ=1)
Функция С: void mgl_datac_link (HADT dat, const mreal *A, int NX, int NY, int NZ)

Устанавливает флаг использования внешнего массива данных, которые не будут удалены. Флаг может быть возвращён в исходное состояние и создан новый внутренний массив если использовались функции изменяющие размер данных.

Команда MGL: var DAT num v1 [v2=nan]

Создает новый одномерный массив данных dat размером num, и заполняет его равномерно в диапазоне [v1, v2]. Если v2=nan, то используется v2=v1.

Команда MGL: fill dat v1 v2 ['dir'='x']
Метод класса mglData: void Fill (mreal v1, mreal v2, char dir='x')
Метод класса mglDataC: void Fill (dual v1, dual v2, char dir='x')
Функция С: void mgl_data_fill (HMDT dat, mreal v1, mreal v2, char dir)
Функция С: void mgl_datac_fill (HADT dat, dual v1, dual v2, char dir)

Заполняет значениями равно распределёнными в диапазоне [x1, x2] в направлении dir={‘x’,‘y’,‘z’}.

Команда MGL: fill dat 'eq'
Команда MGL: fill dat 'eq' vdat
Команда MGL: fill dat 'eq' vdat wdat
Метод класса mglData: void Fill (HMGL gr, const char *eq, const char *opt="")
Метод класса mglData: void Fill (HMGL gr, const char *eq, const mglData &vdat, const char *opt="")
Метод класса mglData: void Fill (HMGL gr, const char *eq, const mglData &vdat, const mglData &wdat, const char *opt="")
Метод класса mglDataC: void Fill (HMGL gr, const char *eq, const char *opt="")
Метод класса mglDataC: void Fill (HMGL gr, const char *eq, const mglDataA &vdat, const char *opt="")
Метод класса mglDataC: void Fill (HMGL gr, const char *eq, const mglDataA &vdat, const mglDataA &wdat, const char *opt="")
Функция С: void mgl_data_fill_eq (HMGL gr, HMDT dat, const char *eq, HCDT vdat, HCDT wdat, const char *opt)
Функция С: void mgl_datac_fill_eq (HMGL gr, HADT dat, const char *eq, HCDT vdat, HCDT wdat, const char *opt)

Заполняет значениями вычисленными по формуле eq. Формула представляет собой произвольное выражение, зависящее от переменных ‘x’, ‘y’, ‘z’, ‘u’, ‘v’, ‘w’. Координаты ‘x’, ‘y’, ‘z’ полагаются меняющимися в диапазоне Min x Max (в отличие от функции Modify). Переменная ‘u’ – значения исходного массива, переменные ‘v’, ‘w’ – значения массивов vdat, wdat. Последние могут быть NULL, т.е. опущены.

Команда MGL: modify dat 'eq' [dim=0]
Команда MGL: modify dat 'eq' vdat
Команда MGL: modify dat 'eq' vdat wdat
Метод класса mglData: void Modify (const char *eq, int dim=0)
Метод класса mglData: void Modify (const char *eq, const mglData &v)
Метод класса mglData: void Modify (const char *eq, const mglData &v, const mglData &w)
Метод класса mglDataC: void Modify (const char *eq, int dim=0)
Метод класса mglDataC: void Modify (const char *eq, const mglDataA &v)
Метод класса mglDataC: void Modify (const char *eq, const mglDataA &v, const mglDataA &w)
Функция С: void mgl_data_modify (HMDT dat, const char *eq, int dim)
Функция С: void mgl_data_modify_vw (HMDT dat, const char *eq, HCDT v, HCDT w)
Функция С: void mgl_datac_modify (HADT dat, const char *eq, int dim)
Функция С: void mgl_datac_modify_vw (HADT dat, const char *eq, HCDT v, HCDT w)

Аналогично предыдущему с координатами ‘x’, ‘y’, ‘z’, меняющимися в диапазоне [0,1]. Если указан dim>0, то изменяются только слои >=dim.

Команда MGL: fillsample dat 'how'
Метод класса mglData: void FillSample (const char *how)
mglData: void mgl_data_fill_sample (HMDT a, const char *how)

Заполняет массив данных ’x’ или ’k’ значениями для преобразований Ханкеля (’h’) или Фурье (’f’).

Команда MGL: datagrid dat xdat ydat zdat
Метод класса mglData: mglData Grid (HMGL gr, const mglData &x, const mglData &y, const mglData &z, const char *opt="")
Функция С: void mgl_data_grid (HMGL gr, HMDT u, HCDT x, HCDT y, HCDT z, const char *opt)

Заполняет значения массива результатом линейной интерполяции по триангулированной поверхности, найденной по произвольно расположенным точкам ‘x’, ‘y’, ‘z’. NAN значение используется для точек сетки вне триангулированной поверхности.

Команда MGL: put dat val [i=: j=: k=:]
Метод класса mglData: void Put (mreal val, int i=-1, int j=-1, int k=-1)
mglData: void mgl_data_put_val (HMDT a, mreal val, int i, int j, int k)

Присваивает значения (под-)массива dat[i, j, k] = val. Индексы i, j, k равные ‘-1’ задают значения val для всего диапазона соответствующего направления(ий). Например, Put(val,-1,0,-1); задает a[i,0,j]=val для i=0...(nx-1), j=0...(nz-1).

Команда MGL: put dat vdat [i=: j=: k=:]
Метод класса 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)

Копирует значения из массива v в диапазон значений данного массива. Индексы i, j, k равные ‘-1’ задают диапазон изменения значений в соответствующих направление(ях). Младшие размерности массива v должны быть больше выбранного диапазона массива. Например, Put(v,-1,0,-1); присвоит a[i,0,j]=v.ny>nz ? v.a[i,j] : v.a[i], где i=0...(nx-1), j=0...(nz-1) и условие v.nx>=nx выполнено.

Команда MGL: idset dat 'ids'
Метод класса mglData: void SetColumnId (const char *ids)
mglData: void mgl_data_set_id (const char *ids)
Метод класса mglDataC: void SetColumnId (const char *ids)
mglData: void mgl_datac_set_id (HADT a, const char *ids)

Задает названия ids для колонок массива данных. Строка должна содержать один символ ’a’...’z’ на колонку. Эти названия используются в функции column.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.