# 数学函数 / 统计分布

## `binofit(x, n, alpha)`

声明：function

根据二项分布样本估计成功概率及其置信区间

<!-- tags: 统计分布 二项分布 参数估计 置信区间 binomial fit -->

| 参数    | 类型          | 说明                    |
| ------- | ------------- | ----------------------- |
| `x`     | array of real | 各样本中的成功次数      |
| `n`     | integer       | 每个样本的试验总量      |
| `alpha` | real          | 显著性水平，范围 0 到 1 |

返回：array

### 示例

范例01：估计二项分布成功概率

```tsl
return binofit(array(4, 5, 6, 5), 10, 0.05);
```

## `randgeo(p, row, col)`

声明：function

生成服从几何分布的随机数数组

<!-- tags: 统计分布 几何分布 随机数 random geometric -->

| 参数  | 类型                     | 说明                          |
| ----- | ------------------------ | ----------------------------- |
| `p`   | real                     | 单次试验成功概率，范围 0 到 1 |
| `row` | integer\|array of string | 行数或行名数组                |
| `col` | integer\|array of string | 列数或列名数组                |

返回：array

### 示例

范例01：生成二维几何分布随机数组

```tsl
return randgeo(0.5, 2, 3);
```

## `sf_ch2Inv(y, cv, x)`

声明：function

计算卡方分布累计概率对应的分位点

<!-- tags: 统计分布 卡方分布 逆函数 分位点 chi-square inverse -->

| 参数 | 类型        | 说明                       |
| ---- | ----------- | -------------------------- |
| `y`  | real\|array | 累计概率值或累计概率数组   |
| `cv` | real        | 卡方分布自由度             |
| `x`  | real\|array | 可选。接收计算得到的分位点 |

返回：real\|array

### 示例

范例01：返回分位点并接收输出参数

```tsl
result := sf_ch2Inv(0.5, 2, value);
return array(result, value);
// 输出：array(1.386294,1.386294)
```

## `sf_expcdf(x, mu, v)`

声明：function

计算指数分布的累计分布值

<!-- tags: 计算 求解 -->

| 参数 | 类型       | 说明                                   |
| ---- | ---------- | -------------------------------------- |
| `x`  | real/array | 随机变量或随机变量数组                 |
| `mu` | real       | 分布参数，默认值为 1                   |
| `v`  | real/array | 可选。写回参数；也可省略并直接取返回值 |

返回：real/array

### 示例

```tsl
x := array(0, 0.1, 1);
return sf_expcdf(x, 1);
// 输出：array(0.0,0.0951625819640405,0.632120558828558)
```

## `sf_exppdf(x, mu, v)`

声明：function

计算指数分布的概率密度

<!-- tags: 计算 求解 -->

| 参数 | 类型       | 说明                                   |
| ---- | ---------- | -------------------------------------- |
| `x`  | real/array | 随机变量或随机变量数组                 |
| `mu` | real       | 分布参数，默认值为 1                   |
| `v`  | real/array | 可选。写回参数；也可省略并直接取返回值 |

返回：real/array

### 示例

```tsl
x := array(0, 0.1, 1);
return sf_exppdf(x, 1);
// 输出：array(1.0,0.90483741803596,0.367879441171442)
```

## `expfit(x, alpha)`

声明：function

根据样本x，x服从指数分布，估计该分布的参数parm

| 参数    | 类型          | 说明                   |
| ------- | ------------- | ---------------------- |
| `x`     | array of real | 指数分布样本，数字数组 |
| `alpha` | real          | 显著性水平，在0-1之间  |

返回：any

### 示例

```tsl
x := randexp(1, 100);
return expfit(x, 0.05);
// 输出：返回parm的估计已经他们的在alpha的显著性水平下的区间估计
```

## `hist(a, b, center)`

声明：function

统计A的频数分布

| 参数     | 类型                     | 说明                                                                    |
| -------- | ------------------------ | ----------------------------------------------------------------------- |
| `a`      | array of real            | 参与进行频数分布统计的数据                                              |
| `b`      | integer or array of real | 频数分布分组的依据,可以是整数表示分成多少组，也可以是每组的中心（升序） |
| `center` | array of real            | 变参返回每组的中心                                                      |

返回：any

### 示例

```tsl
a := randnorm(0, 1, 10000);
return hist(a, 30, center);
// 输出：，一维数字数组
```

## `mvtcdfqmc(a, b, rho, nu, options, funevals)`

声明：function

中间函数，采用蒙特卡洛计算多元t分布，估计概率P值以及误差

<!-- tags: 计算 求解 -->

| 参数       | 类型  | 说明                                   |
| ---------- | ----- | -------------------------------------- |
| `a`        | array | 可选。数组下限，默认为负无穷           |
| `b`        | array | 必填。数组下限或实际需计算分布的样本值 |
| `rho`      | array | 数组，相关系数矩阵                     |
| `nu`       | float | 实数，自由度                           |
| `options`  | array | 数组，规划条件设置                     |
| `funevals` | array | 线性回归的结果条件                     |

返回：array

### 示例

范例01：

```tsl
rho := array(
    (1, 0.923912552224476, 0.035770327030089),
    (0.923912552224476, 1, 0.084276570941762),
    (0.035770327030089, 0.084276570941762, 1)
);
return mvtcdfqmc(array(0, 0, 0), array(0.2, 0.4, 0.6), rho, 2, array());
// 输出：近似 array(0.0077,0.0001)，每次运行可能略有差异。
```

## `normfit(x, alpha)`

声明：function

根据样本x，x服从正态分布，估计该正态分布的两个参数ma,sigma

| 参数    | 类型          | 说明                       |
| ------- | ------------- | -------------------------- |
| `x`     | array of real | 正态分布样本，一维数字数组 |
| `alpha` | real          | 显著性水平，在0-1之间      |

返回：any

### 示例

```tsl
x := randnorm(0, 1, 10, array("a", "b"));
return normfit(x, 0.05);
// 输出：返回mu, sigma的估计以及他们的在alpha的显著性水平下的区间估计
```

## `norminv(p, mu, sigma)`

声明：function

正态逆函数

| 参数    | 类型           | 说明             |
| ------- | -------------- | ---------------- |
| `p`     | float \| array | 正态分布的概率   |
| `mu`    | float          | 分布的算术平均值 |
| `sigma` | float          | 方差             |

返回：float | array

### 示例

```tsl
return norminv(0.15, 0.5, 1); // 输出：-0.5364
```

## `poissfit(x, alpha)`

声明：function

根据样本x，x服从泊松分布，估计该分布的参数lambda

| 参数    | 类型          | 说明                   |
| ------- | ------------- | ---------------------- |
| `x`     | array of real | 泊松分布样本，数字数组 |
| `alpha` | real          | 显著性水平，在0-1之间  |

返回：any

### 示例

```tsl
x := randpoiss(1, 100);
return poissfit(x, 0.05);
// 输出：返回lambda的估计以及他们的在alpha的显著性水平下的区间估计
```

## `randbeta(a, b, row, col)`

声明：function

产生贝塔分布的随机数

| 参数  | 类型                       | 说明                     |
| ----- | -------------------------- | ------------------------ |
| `a`   | real                       | beta分布参数1,实数,大于0 |
| `b`   | real                       | beta分布参数2,实数,大于0 |
| `row` | integer or array of string | 行数或者行名字符串数组   |
| `col` | integer or array of string | 列数或者列名字符串数组   |

返回：any

### 示例

```tsl
return randbeta(2, 4, 100, array("a", "b"));
```

## `randbino(n, p, row, col)`

声明：function

产生二项分布的随机数

| 参数  | 类型                       | 说明                               |
| ----- | -------------------------- | ---------------------------------- |
| `n`   | integer                    | 试验总量,为大于0的整数；           |
| `p`   | real                       | 一次试验成功的概率,为0,1之间的实数 |
| `row` | integer or array of string | 行数或者行名字符串数组             |
| `col` | integer or array of string | 列数或者列名字符串数组             |

返回：any

### 示例

```tsl
return randbino(10, 0.5, 10, array("a", "b"));
```

## `randCauchy(a, b, row, col)`

声明：function

产生柯西的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `a`   | real                       | 位置参数,实数          |
| `b`   | real                       | 尺度参数,大于0的实数   |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randCauchy(0, 2, 10, array("a", "b"));
```

## `randch2(cv, row, col)`

声明：function

产生卡方分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `cv`  | real                       | 卡方分布自由度,实数    |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randch2(30, 10, array("a", "b"));
```

## `randCopula(copula_type, rho, v, n)`

声明：function

生成服从copula分布的随机数

| 参数          | 类型    | 说明                                                                              |
| ------------- | ------- | --------------------------------------------------------------------------------- |
| `copula_type` | string  | 字符串，分布函数类型:gaussian、t、clayton、frank、gumbel                          |
| `rho`         | array   | 数组，协方差矩阵，对阿基米德族(clayton、frank、gumbel分布)为空                    |
| `v`           | float   | 实数，对t分布为自由度；对阿基米德族(clayton、frank、gumbel分布)为参数估计值，且其 |
| `n`           | integer | 整数，产生随机数长度                                                              |

返回：array

### 示例

范例01：gaussian分布

```tsl
rho := array(
    (1.0000, 0.9239, 0.0358),
    (0.9239, 1.0000, 0.0843),
    (0.0358, 0.0843, 1.0000)
);
n := 10;
v := array((0, 0, 0), (0, 0, 0), (0, 0, 0));
return randCopula("gaussian", rho, v, n);
// 输出：10×3 数组；随机样本每次运行不同。
```

范例02：t分布

```tsl
rho := array(
    (1.0000, 0.9239, 0.0358),
    (0.9239, 1.0000, 0.0843),
    (0.0358, 0.0843, 1.0000)
);
n := 10;
return randCopula("t", rho, 3, n);
// 输出：10×3 数组；随机样本每次运行不同。
```

范例03：阿基米德族，clayton(frank、gumbel调用相同)

```tsl
alpha := 1;
n := 10;
return randCopula("clayton", nil, alpha, n);
// 输出：10×2 数组；随机样本每次运行不同。
```

## `randexp(mu, row, col)`

声明：function

产生指数分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `mu`  | real                       | 分布参数,实数,缺省为1  |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randexp(1, 10, array("a", "b"));
```

## `randf(v1, v2, row, col)`

声明：function

产生F分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `v1`  | real                       | 分子自由度,大于0的实数 |
| `v2`  | real                       | 分母自由度,大于0的实数 |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randf(20, 30, 10, array("a", "b"));
```

## `randgam(a, b, row, col)`

声明：function

产生伽马分布的随机数

| 参数  | 类型  | 说明                   |
| ----- | ----- | ---------------------- |
| `a`   | float | 形状参数,大于0的实数   |
| `b`   | float | 尺度参数,大于0的实数   |
| `row` | array | 行数或者行名字符串数组 |
| `col` | array | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
randgam(2, 2, 100, array("a", "b"));
```

## `randhyge(m, k, n, row, col)`

声明：function

产生超几何分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `m`   | integer                    | 总体数目,非负整数      |
| `k`   | integer                    | 总体标数目,非负整数    |
| `n`   | integer                    | 抽样数目,非负整数      |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randhyge(100, 10, 20, 10, array("a", "b"));
```

## `randLaplace(mu, b, row, col)`

声明：function

产生拉普拉斯的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `mu`  | real                       | 位置参数,实数          |
| `b`   | real                       | 尺度参数,大于0的实数   |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randLaplace(0, 2, 10, array("a", "b"));
```

## `randlogn(mu, sigma, row, col)`

声明：function

产生对数正态分布的随机数

| 参数    | 类型                       | 说明                               |
| ------- | -------------------------- | ---------------------------------- |
| `mu`    | real                       | 对数正态分布参数，均值，实数类型   |
| `sigma` | real                       | 对数正态分布参数，标准差，实数类型 |
| `row`   | integer or array of string | 行数或者行名字符串数组             |
| `col`   | integer or array of string | 列数或者列名字符串数组             |

返回：any

### 示例

```tsl
return randlogn(0, 1, 10, array("a", "b"));
```

## `randnbin(r, p, row, col)`

声明：function

产生负二项分布的随机数

| 参数  | 类型                       | 说明                               |
| ----- | -------------------------- | ---------------------------------- |
| `r`   | integer                    | 试验成功的次数,为大于0的整数       |
| `p`   | real                       | 一次试验成功的概率,为0,1之间的实数 |
| `row` | integer or array of string | 行数或者行名字符串数组             |
| `col` | integer or array of string | 列数或者列名字符串数组             |

返回：any

### 示例

```tsl
return randnbin(10, 0.5, 10, array("a", "b"));
```

## `randnorm(mu, sigma, row, col)`

声明：function

产生正态分布的随机数

| 参数    | 类型                       | 说明                           |
| ------- | -------------------------- | ------------------------------ |
| `mu`    | real                       | 正态分布参数，均值，实数类型   |
| `sigma` | real                       | 正态分布参数，标准差，实数类型 |
| `row`   | integer or array of string | 行数或者行名字符串数组         |
| `col`   | integer or array of string | 列数或者列名字符串数组         |

返回：any

### 示例

```tsl
return randnorm(0, 1, 10, array("a", "b"));
```

## `randpoiss(lambda, row, col)`

声明：function

产生泊松分布的随机数

| 参数     | 类型                       | 说明                   |
| -------- | -------------------------- | ---------------------- |
| `lambda` | real                       | 分布参数,实数          |
| `row`    | integer or array of string | 行数或者行名字符串数组 |
| `col`    | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randpoiss(10, 10, array("a", "b"));
```

## `randrayl(b, row, col)`

声明：function

产生瑞利分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `b`   | real                       | 分布参数,实数,缺省为1  |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randrayl(1, 100, array("a", "b"));
```

## `randt(cv, row, col)`

声明：function

产生学生T分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `cv`  | real                       | 学生T分布自由度,实数   |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randt(30, 10, array("a", "b"));
```

## `randunid(n, row, col)`

声明：function

产生离散均匀分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `n`   | integer                    | 分布参数,整数；        |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randunid(10, 10, array("a", "b"));
```

## `randunif(a, b, row, col)`

声明：function

产生均匀分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `a`   | real                       | 均匀分布的下限,实数    |
| `b`   | real                       | 均匀分布的上限,实数    |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randunif(1, 10, 10, array("a", "b"));
```

## `randwbl(a, b, row, col)`

声明：function

产生威布尔分布的随机数

| 参数  | 类型                       | 说明                   |
| ----- | -------------------------- | ---------------------- |
| `a`   | real                       | 比例参数,实数,大于0    |
| `b`   | real                       | 形状参数,实数,大于0    |
| `row` | integer or array of string | 行数或者行名字符串数组 |
| `col` | integer or array of string | 列数或者列名字符串数组 |

返回：any

### 示例

```tsl
return randwbl(1, 1.5, 100, array("a", "b"));
```

## `sf_betacdf(x, a, b, v)`

声明：function

贝塔分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | beta分布参数1,实数,大于0                      |
| `b`  | float | beta分布参数2,实数,大于0                      |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_betainv1(y, a, b)`

声明：function

贝塔分布的分布逆函数，输入分布函数值，返回随机变量值。功能与sf_betainv一致，输出接口不一样

| 参数 | 类型  | 说明                                                       |
| ---- | ----- | ---------------------------------------------------------- |
| `y`  | array | 分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `a`  | float | beta分布参数1,实数,大于0                                   |
| `b`  | float | beta分布参数2,实数,大于0                                   |

返回：array

## `sf_betapdf(x, a, b, v)`

声明：function

贝塔分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | beta分布参数1,实数,大于0                      |
| `b`  | float | beta分布参数2,实数,大于0                      |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_binocdf(x, n, p, v)`

声明：function

二项分布的累计概率函数，输入随机变量，返回随机变量对应的累计概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 试验总量,为大于0的整数；                      |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数            |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_binoinv(y, n, p, x)`

声明：function

二项分布的分布逆函数，输入累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 试验总量,为大于0的整数；                                    |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数                          |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_binopdf(x, n, p, v)`

声明：function

二项分布的概率函数，输入随机变量，返回随机变量对应的概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 试验总量,为大于0的整数；                      |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数            |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_Cauchycdf(x, a, b, v)`

声明：function

柯西的累计概率或者分布函数，输入随机变量，返回随机变量对应的累计概率，或者分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 位置参数,实数                                 |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_Cauchyinv(y, a, b, x)`

声明：function

柯西的分布逆函数，输入分布函数或者累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 位置参数,实数                                               |
| `b`  | float | 尺度参数,大于0的实数                                        |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_Cauchypdf(x, a, b, v)`

声明：function

柯西的概率密度函数，输入随机变量，返回随机变量对应的概率密度

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 位置参数,实数                                 |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_ch2cdf(x, cv, v)`

声明：function

卡方分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `cv` | float | 卡方分布自由度,实数                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_ch2pdf(x, cv, v)`

声明：function

卡方分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `cv` | float | 卡方分布自由度,实数                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_copulacdf(x, copula_type, rho, alpha, options)`

声明：function

估计多元函数分布值

| 参数          | 类型   | 说明                                                                                                                 |
| ------------- | ------ | -------------------------------------------------------------------------------------------------------------------- |
| `x`           | array  | 数组，样本值为均匀分布需要在\[0,1\]区间内，至少2维                                                                   |
| `copula_type` | string | 字符串，分布函数类型:；椭圆族:gaussian、t，支持多维；阿基米德族:clayton、frank、gumbel，目前仅支持二维               |
| `rho`         | array  | 数组，相关系数矩阵，d\*d                                                                                             |
| `alpha`       | float  | 实数，参数估计值，t分布时为自由度，二元阿基米德分布时为估值参数,默认1;；clayton:\[0,∞)； frank:(-∞,∞)；gumbel:\[1,∞) |
| `options`     | array  | 数组，估计规划条件，可为空                                                                                           |

返回：array

## `sf_copulafit(x, copula_type, method, options)`

声明：function

估计多元分布相关系数矩阵

| 参数          | 类型   | 说明                                                                                                                          |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `x`           | array  | 数组，样本值为均匀分布需要在\[0,1\]区间内，至少2维                                                                            |
| `copula_type` | string | 字符串，分布函数类型:；椭圆族:gaussian、t，支持多维；阿基米德族:clayton、frank、gumbel，目前仅支持二维                        |
| `method`      | string | 字符串，极大似然估计方法(多元分布时有效)；ML —最大似然估计 （默认）；AML —调整的似然估计，性能上比MLE快，但不适用于中小样本量 |
| `options`     | array  | 数组，估计规划条件，可为空                                                                                                    |

返回：array

## `sf_exp(x, mu, v)`

声明：function

指数分布累计概率

| 参数 | 类型  | 说明                                         |
| ---- | ----- | -------------------------------------------- |
| `x`  | array | 随机变量，可以使用实数，也可以是一个实数数组 |
| `mu` | float | 分布参数                                     |
| `v`  | array | 返回值                                       |

返回：array

## `sf_expinv(y, mu, x)`

声明：function

指数分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `mu` | float | 分布参数,实数,缺省为1                                       |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_fcdf(x, v1, v2, v)`

声明：function

F分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `v1` | float | 分子自由度,大于0的实数                        |
| `v2` | float | 分母自由度,大于0的实数                        |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_finv1(y, v1, v2, x)`

声明：function

F分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                       |
| ---- | ----- | ---------------------------------------------------------- |
| `y`  | array | 分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `v1` | float | 分子自由度,大于0的实数                                     |
| `v2` | float | 分母自由度,大于0的实数                                     |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                |

返回：array

## `sf_fpdf(x, v1, v2, v)`

声明：function

F分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `v1` | float | 分子自由度,大于0的实数                        |
| `v2` | float | 分母自由度,大于0的实数                        |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_gamcdf(x, a, b, v)`

声明：function

伽马分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 形状参数,大于0的实数                          |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_gaminv(y, a, b, x)`

声明：function

伽马分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 形状参数,大于0的实数                                        |
| `b`  | float | 尺度参数,大于0的实数                                        |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_gampdf(x, a, b, v)`

声明：function

伽马分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 形状参数,大于0的实数                          |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_geocdf(x, p, v)`

声明：function

几何分布的累计概率函数，输入随机变量，返回随机变量对应的累计概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `p`  | float | p:一次试验成功的概率,为0,1之间的实数          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_geoinv(y, p, x)`

声明：function

几何分布的分布逆函数，输入累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数                          |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_geopdf(x, p, v)`

声明：function

几何分布的概率函数，输入随机变量，返回随机变量对应的概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数            |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_hygecdf(x, m, k, n, v)`

声明：function

超几何分布的累计概率函数，输入随机变量，返回随机变量对应的累计概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `m`  | any   | 总体数目,非负整数                             |
| `k`  | any   | 总体标数目,非负整数                           |
| `n`  | any   | 抽样数目,非负整数                             |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_hygeinv(y, m, k, n, x)`

声明：function

超几何分布的分布逆函数，输入累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `m`  | any   | 总体数目,非负整数                                           |
| `k`  | any   | 总体标数目,非负整数                                         |
| `n`  | any   | 抽样数目,非负整数                                           |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_hygepdf(x, m, k, n, v)`

声明：function

超几何分布的概率函数，输入随机变量，返回随机变量对应的概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `m`  | any   | 总体数目,非负整数                             |
| `k`  | any   | 总体标数目,非负整数                           |
| `n`  | any   | 抽样数目,非负整数                             |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_Laplacecdf(x, mu, b, v)`

声明：function

拉普拉斯的累计概率或者分布函数，输入随机变量，返回随机变量对应的累计概率，或者分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `mu` | float | 位置参数,实数                                 |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_Laplaceinv(y, mu, b, x)`

声明：function

拉普拉斯的分布逆函数，输入分布函数或者累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `mu` | float | 位置参数,实数                                               |
| `b`  | float | 尺度参数,大于0的实数                                        |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_Laplacepdf(x, mu, b, v)`

声明：function

拉普拉斯的概率密度函数，输入随机变量，返回随机变量对应的概率密度

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `mu` | float | 位置参数,实数                                 |
| `b`  | float | 尺度参数,大于0的实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_logncdf(x, mu, sigma, v)`

声明：function

对数正态分布的累计概率或者分布函数，输入随机变量，返回随机变量对应的累计概率，或者分布函数值

| 参数    | 类型  | 说明                                          |
| ------- | ----- | --------------------------------------------- |
| `x`     | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `mu`    | float | 对数正态分布参数，均值，实数类型              |
| `sigma` | float | 对数正态分布参数，标准差，实数类型            |
| `v`     | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_logninv(y, mu, sigma, x)`

声明：function

对数正态分布的分布逆函数，输入分布函数或者累计概率值，返回随机变量值

| 参数    | 类型  | 说明                                                        |
| ------- | ----- | ----------------------------------------------------------- |
| `y`     | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `mu`    | float | 对数正态分布参数，均值，实数类型                            |
| `sigma` | float | 对数正态分布参数，标准差，实数类型                          |
| `x`     | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_lognpdf(x, mu, sigma, v)`

声明：function

对数正态分布的概率密度函数，输入随机变量，返回随机变量对应的概率密度

| 参数    | 类型  | 说明                                          |
| ------- | ----- | --------------------------------------------- |
| `x`     | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `mu`    | float | 对数正态分布参数，均值，实数类型              |
| `sigma` | float | 对数正态分布参数，标准差，实数类型            |
| `v`     | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_mvncdf(lower_bounds, upper_bounds, mean_values, correlation_matrix)`

声明：function

计算多变量正态分布累计分布值

<!-- tags: 计算 求解 -->

| 参数                 | 类型  | 说明                            |
| -------------------- | ----- | ------------------------------- |
| `lower_bounds`       | array | 下界；传 `nil` 表示使用默认下界 |
| `upper_bounds`       | array | 上界矩阵                        |
| `mean_values`        | array | 均值；传 `nil` 表示使用默认均值 |
| `correlation_matrix` | array | 相关系数矩阵                    |

返回：array

## `sf_mvtcdf(lower_bounds, upper_bounds, correlation_matrix, degrees_freedom)`

声明：function

计算多变量 t 分布累计分布值

<!-- tags: 计算 求解 -->

| 参数                 | 类型  | 说明                            |
| -------------------- | ----- | ------------------------------- |
| `lower_bounds`       | array | 下界；传 `nil` 表示使用默认下界 |
| `upper_bounds`       | array | 上界矩阵                        |
| `correlation_matrix` | array | 相关系数矩阵                    |
| `degrees_freedom`    | float | 自由度                          |

返回：array

## `sf_nbincdf(x, r, p, v)`

声明：function

负二项分布的累计概率函数，输入随机变量，返回随机变量对应的累计概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `r`  | any   | 试验成功的次数,为大于0的整数                  |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数            |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_nbininv(y, r, p, x)`

声明：function

负二项分布的分布逆函数，输入累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `r`  | any   | 试验成功的次数,为大于0的整数                                |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数                          |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_nbinpdf(x, r, p, v)`

声明：function

负二项分布的概率函数，输入随机变量，返回随机变量对应的概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `r`  | any   | 试验成功的次数,为大于0的整数                  |
| `p`  | float | 一次试验成功的概率,为0,1之间的实数            |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_normcdf(x, mu, sigma, v)`

声明：function

计算随机变量在正态分布, 均值为mu，方差为sigma条件下的分布函数,返回分布函数值

<!-- tags: 计算 求解 -->

| 参数    | 类型  | 说明                                            |
| ------- | ----- | ----------------------------------------------- |
| `x`     | array | :随机变量，可以是实数，也可以是一个实数二维数组 |
| `mu`    | float | 正态分布的均值，实数类型                        |
| `sigma` | float | 正态分布的标准差，大于0的实数                   |
| `v`     | array | 变参返回x对应的正态分布函数的值，实数或二维数组 |

返回：any

## `sf_norminv(y, mu, sigma, x)`

声明：function

正态分布的分布逆函数，输入分布函数或者累计概率值，返回随机变量值

| 参数    | 类型  | 说明                                                        |
| ------- | ----- | ----------------------------------------------------------- |
| `y`     | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `mu`    | float | 正态分布参数，均值，实数类型                                |
| `sigma` | float | 正态分布参数，标准差，实数类型                              |
| `x`     | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_normpdf(x, mu, sigma, v)`

声明：function

正态分布的概率密度函数，输入随机变量，返回随机变量对应的概率密度

| 参数    | 类型  | 说明                                          |
| ------- | ----- | --------------------------------------------- |
| `x`     | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `mu`    | float | 正态分布参数，均值，实数类型                  |
| `sigma` | float | 正态分布参数，标准差，实数类型                |
| `v`     | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_poisscdf(x, lambda, v)`

声明：function

泊松分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数     | 类型  | 说明                                          |
| -------- | ----- | --------------------------------------------- |
| `x`      | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `lambda` | float | 分布参数,实数                                 |
| `v`      | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_poissinv(y, lambda, x)`

声明：function

泊松分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数     | 类型  | 说明                                                        |
| -------- | ----- | ----------------------------------------------------------- |
| `y`      | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `lambda` | float | 分布参数,实数                                               |
| `x`      | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_poisspdf(x, lambda, v)`

声明：function

泊松分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数     | 类型  | 说明                                          |
| -------- | ----- | --------------------------------------------- |
| `x`      | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `lambda` | float | 分布参数,实数                                 |
| `v`      | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_raylcdf(x, b, v)`

声明：function

瑞利分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `b`  | float | 分布参数,实数,缺省为1                         |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_raylinv(y, b, x)`

声明：function

瑞利分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `b`  | float | 分布参数,实数,缺省为1                                       |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_raylpdf(x, b, v)`

声明：function

瑞利分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `b`  | float | 分布参数,实数,缺省为1                         |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_tcdf(x, cv, v)`

声明：function

学生T分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `cv` | float | 学生T分布自由度,实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_tinv1(y, cv, x)`

声明：function

学生T分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `cv` | float | 学生T分布自由度,实数                                        |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_tpdf(x, cv, v)`

声明：function

学生T分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `cv` | float | 学生T分布自由度,实数                          |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_unidcdf(x, n, v)`

声明：function

离散均匀分布的累计概率函数，输入随机变量，返回随机变量对应的累计概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 分布参数,整数；                               |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_unidinv(y, n, x)`

声明：function

离散均匀分布的分布逆函数，输入累计概率值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 分布参数,整数                                               |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_unidpdf(x, n, v)`

声明：function

离散均匀分布的概率函数，输入随机变量，返回随机变量对应的概率

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `n`  | any   | 分布参数,整数；                               |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_unifcdf(x, a, b, v)`

声明：function

均匀分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 均匀分布的下限,实数                           |
| `b`  | float | 均匀分布的上限,实数                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_unifinv(y, a, b, x)`

声明：function

均匀分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 均匀分布的下限,实数                                         |
| `b`  | float | 均匀分布的上限,实数                                         |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_unifpdf(x, a, b, v)`

声明：function

均匀分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 均匀分布的下限,实数                           |
| `b`  | float | 均匀分布的上限,实数                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_wblcdf(x, a, b, v)`

声明：function

威布尔分布的分布函数，输入随机变量，返回随机变量对应的分布函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 比例参数,实数,大于0                           |
| `b`  | float | 形状参数,实数,大于0                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `sf_wblinv(y, a, b, x)`

声明：function

威布尔分布的分布逆函数，输入分布函数值，返回随机变量值

| 参数 | 类型  | 说明                                                        |
| ---- | ----- | ----------------------------------------------------------- |
| `y`  | array | :分布函数或者累计概率值，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 比例参数,实数,大于0                                         |
| `b`  | float | 形状参数,实数,大于0                                         |
| `x`  | array | 变参返回，该函数也支持直接返回，类型和y一样                 |

返回：any

## `sf_wblpdf(x, a, b, v)`

声明：function

威布尔分布的密度函数，输入随机变量，返回随机变量对应的密度函数值

| 参数 | 类型  | 说明                                          |
| ---- | ----- | --------------------------------------------- |
| `x`  | array | :随机变量，可以使用实数，也可以是一个实数数组 |
| `a`  | float | 比例参数,实数,大于0                           |
| `b`  | float | 形状参数,实数,大于0                           |
| `v`  | array | 变参返回，该函数也支持直接返回，类型和x一样   |

返回：any

## `uniffit(x, alpha)`

声明：function

根据样本x，x服从均匀分布，估计该分布的两个参数a,b

| 参数    | 类型          | 说明                   |
| ------- | ------------- | ---------------------- |
| `x`     | array of real | 均匀分布样本，数字数组 |
| `alpha` | real          | 显著性水平，在0-1之间  |

返回：any

### 示例

```tsl
x := randunif(1, 10, 100);
return uniffit(x, 0.05);
// 输出：返回a, b的估计以及他们的在alpha的显著性水平下的区间估计
```
