libdspl-2.0/dspl/dox/ru/fillarray.dox

134 wiersze
5.5 KiB
Plaintext
Czysty Zwykły widok Historia

/*! *************************************************************************************************
\ingroup SPEC_MATH_COMMON_GROUP
\fn int linspace(double x0, double x1, int n, int type, double* x)
\brief Функция заполняет массив линейно-нарастающими, равноотстоящими значениями
от `x0` до `x1`
Заполняет массив `x` длиной `n` значениями в диапазоне от \f$x_0\f$ до \f$x_1\f$.
Функция поддерживает два типа заполнения в соответствии с параметром `type`:<BR>
Симметричное заполнение согласно выражению (параметр `type=DSPL_SYMMETRIC`):<BR>
\f$x(k) = x_0 + k \cdot dx\f$, here \f$dx = \frac{x_1 - x_0}{n-1}\f$, \f$k = 0 \ldots n-1.\f$
Периодическое заполнение (параметр `type=DSPL_PERIODIC`) согласно выражению:<BR>
\f$x(k) = x_0 + k \cdot dx\f$, here \f$dx = \frac{x_1 - x_0}{n}\f$, \f$k = 0 \ldots n-1.\f$
\param[in] x0 Начальное показателя \f$x_0\f$.<BR><BR>
\param[in] x1 Конечное значение \f$x_1\f$.<BR><BR>
\param[in] n Количество точек массива `x`.<BR><BR>
\param[in] type Тип заполнения:<BR>
`DSPL_SYMMETRIC` - симметричное заполнение,<BR>
`DSPL_PERIODIC` - периодическое заполнение.<BR><BR>
\param[in,out] x Указатель на вектор равноотстоящих значений .<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` - функция выполнена успешно. <BR>
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Отличие периодического и симметричного заполнения можно понять из следующих примеров. <BR>
Пример 1. Периодическое заполнение.
\code
double x[5];
2018-03-18 20:11:51 +00:00
linspace(0, 5, 5, DSPL_PERIODIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0, 1, 2, 3, 4
\endcode
<BR><BR>
Пример 2. Симметричное заполнение.
\code
double x[5];
2018-03-18 20:11:51 +00:00
linspace(0, 5, 5, DSPL_SYMMETRIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0, 1.25, 2.5, 3.75, 5
\endcode
\author
Бахурин Сергей.
www.dsplib.org
2018-03-13 20:46:25 +00:00
**************************************************************************************************** */
2018-03-13 20:46:25 +00:00
/*! *************************************************************************************************
\ingroup SPEC_MATH_COMMON_GROUP
\fn int logspace(double x0, double x1, int n, int type, double* x)
\brief Функция заполняет массив значениями логарифмической шкале
Заполняет массив `x` длиной `n` значениями в диапазоне от \f$10^{x_0}\f$ до \f$10^{x_1}\f$.<BR>
Функция поддерживает два типа заполнения в соответствии с параметром `type`:<BR>
Симметричное заполнение согласно выражению:<BR>
\f$x(k) = 10^{x_0} \cdot dx^k\f$, где \f$dx = \sqrt[n-1]{10^{x_1 - x_0}}\f$,
\f$k = 0 \ldots n-1.\f$
Периодическое заполнение согласно выражению:
\f$x(k) = 10^{x_0} \cdot dx^k\f$, где \f$dx = \sqrt[n]{10^{x_1 - x_0}}\f$,
\f$k = 0 \ldots n-1.\f$<BR>
\param[in] x0 Начальное значение показателя \f$x_0\f$.<BR><BR>
\param[in] x1 Конечное значение показателя \f$x_1\f$.<BR><BR>
\param[in] n Количество точек массива `x`.<BR><BR>
\param[in] type Тип заполнения:<BR>
`DSPL_SYMMETRIC` - симметричное заполнение,<BR>
`DSPL_PERIODIC` - периодическое заполнение.<BR><BR>
\param[in,out] x Указатель на вектор значений в логарифмической шкале.<BR>
Размер вектора `[n x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` - функция выполнена успешно. <BR>
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Отличие периодического и симметричного заполнения можно понять из следующих примеров. <BR>
Пример 1. Периодическое заполнение.
\code
double x[5];
2018-03-18 20:11:51 +00:00
logspace(-2, 3, 5, DSPL_PERIODIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0.01, 0.1, 1, 10, 100
\endcode
<BR><BR>
Пример 2. Симметричное заполнение.
\code
double x[5];
2018-03-18 20:11:51 +00:00
logspace(-2, 3, 5, DSPL_SYMMETRIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0.01 0.178 3.162 56.234 1000
\endcode
\author
Бахурин Сергей.
www.dsplib.org
**************************************************************************************************** */