/*! *************************************************************************************************
\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`:
Симметричное заполнение согласно выражению (параметр `type=DSPL_SYMMETRIC`):
\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`) согласно выражению:
\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$.
\param[in] x1 Конечное значение \f$x_1\f$.
\param[in] n Количество точек массива `x`.
\param[in] type Тип заполнения:
`DSPL_SYMMETRIC` - симметричное заполнение,
`DSPL_PERIODIC` - периодическое заполнение.
\param[in,out] x Указатель на вектор равноотстоящих значений .
Размер вектора `[n x 1]`.
Память должна быть выделена.
\return
`RES_OK` - функция выполнена успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Отличие периодического и симметричного заполнения можно понять из следующих примеров.
Пример 1. Периодическое заполнение.
\code
double x[5];
linspace(0, 5, 5, DSPL_PERIODIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0, 1, 2, 3, 4
\endcode
Пример 2. Симметричное заполнение.
\code
double x[5];
linspace(0, 5, 5, DSPL_SYMMETRIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0, 1.25, 2.5, 3.75, 5
\endcode
\author
Бахурин Сергей.
www.dsplib.org
**************************************************************************************************** */
/*! *************************************************************************************************
\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$.
Функция поддерживает два типа заполнения в соответствии с параметром `type`:
Симметричное заполнение согласно выражению:
\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$
\param[in] x0 Начальное значение показателя \f$x_0\f$.
\param[in] x1 Конечное значение показателя \f$x_1\f$.
\param[in] n Количество точек массива `x`.
\param[in] type Тип заполнения:
`DSPL_SYMMETRIC` - симметричное заполнение,
`DSPL_PERIODIC` - периодическое заполнение.
\param[in,out] x Указатель на вектор значений в логарифмической шкале.
Размер вектора `[n x 1]`.
Память должна быть выделена.
\return
`RES_OK` - функция выполнена успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Отличие периодического и симметричного заполнения можно понять из следующих примеров.
Пример 1. Периодическое заполнение.
\code
double x[5];
logspace(-2, 3, 5, DSPL_PERIODIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0.01, 0.1, 1, 10, 100
\endcode
Пример 2. Симметричное заполнение.
\code
double x[5];
logspace(-2, 3, 5, DSPL_SYMMETRIC, x);
\endcode
В массиве `x` будут лежать значения:
\code
0.01 0.178 3.162 56.234 1000
\endcode
\author
Бахурин Сергей.
www.dsplib.org
**************************************************************************************************** */