kopia lustrzana https://github.com/Dsplib/libdspl-2.0
134 wiersze
5.5 KiB
Plaintext
Executable File
134 wiersze
5.5 KiB
Plaintext
Executable File
/*! *************************************************************************************************
|
||
\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];
|
||
linspace(0, 5, 5, DSPL_PERIODIC, x);
|
||
\endcode
|
||
В массиве `x` будут лежать значения:
|
||
\code
|
||
0, 1, 2, 3, 4
|
||
\endcode
|
||
<BR><BR>
|
||
Пример 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$.<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];
|
||
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];
|
||
logspace(-2, 3, 5, DSPL_SYMMETRIC, x);
|
||
\endcode
|
||
В массиве `x` будут лежать значения:
|
||
\code
|
||
0.01 0.178 3.162 56.234 1000
|
||
\endcode
|
||
|
||
\author
|
||
Бахурин Сергей.
|
||
www.dsplib.org
|
||
|
||
**************************************************************************************************** */
|
||
|