# 数学函数 / 灰色系统

## `GM_Icorr(values, target_index)`

声明：function

计算数据矩阵中各序列相对于指定参考序列的灰色关联系数

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

| 参数           | 类型    | 说明         |
| -------------- | ------- | ------------ |
| `values`       | array   | 二维数据矩阵 |
| `target_index` | integer | 参考序列下标 |

返回：array

### 示例

```tsl
x := array((1, 2, 3), (2, 3, 4));
return GM_Icorr(x, 1);
// 输出：array(0.645833333333333,1.0)
```

## `GM_AGO(x, method, r)`

声明：function

数列生成，r(r>0)次的累加或累减生成新数列 1）累加：， 2）累减

| 参数     | 类型   | 说明                              |
| -------- | ------ | --------------------------------- |
| `x`      | array  | 数据矩阵，为一维数组类型；        |
| `method` | string | 生成方法(add,sub)，为字符串类型； |
| `r`      | any    | 次数，为整数类型                  |

返回：array

## `GM_Corr(x, l)`

声明：function

灰色关联度，以l行为参考数列的灰色关联度，返回的是关联度矩阵 ，， 以为参考数列，则关联度计算步骤如下： 1）初值化：； 2）求差数列：， 3）求两级最大和最小：， 4）求关联系数：，为分辨系数，是0到1之间的数 5）求关联度

| 参数 | 类型  | 说明                       |
| ---- | ----- | -------------------------- |
| `x`  | array | 数据矩阵，为二维数组类型； |
| `l`  | any   | 参考序列标号，为整数类型   |

返回：array

## `GM_Initial(x, method, un)`

声明：function

数据初始化，提供了几种数据变换的方法，有初值化、均值化、最小值化、最大值化、按行区间值化、按列区间值化、归一化、逆化、倒数化和始点零化处理原始的序列 1）初值化： 2）均值化：， 3）最小值化：， 4）最大值化：， 5）按行区间值化： 6）按列区间值化： 7）归一化：， 8）逆化： 9）倒数化： 10）始点零化

| 参数     | 类型   | 说明                                                                       |
| -------- | ------ | -------------------------------------------------------------------------- |
| `x`      | array  | 数据矩阵，为二维数组类型；                                                 |
| `method` | string | 处理方法(ini,mean,min,max,rrange,crange,norm,inv,rec,zero)，为字符串类型； |
| `un`     | array  | 归一化单位，为一维数组类型                                                 |

返回：array

## `GM_Scorr(x, method)`

声明：function

灰色绝对关联度、灰色相对关联度和灰色综合关联度，返回的是关联度矩阵 ，， 1）灰色绝对关联度： 2）灰色相对关联度：先对数列进行初值化，然后求新数列的灰色绝对关联度，即为原数列的灰色相对关联度 3）灰色综合关联度

| 参数     | 类型   | 说明                              |
| -------- | ------ | --------------------------------- |
| `x`      | array  | 数据矩阵，为二维数组类型；        |
| `method` | string | 方法(abs,ret,com)，为字符串类型； |

返回：array
