# Deprecated
以下内容为已弃用、已移除或仅在历史运行环境中提供的接口,仅用于识别和维护旧模型。
## Python 支持函数简介
要使用Python的引擎,首先需要将对应于客户端(如在脚本调用则为TSL.EXE)的相应位数的版本(32位对应32位,64位对应于64位)的python相应支持DLL所在位置加入系统或者PATH中,并在天软存贮目录的 `plugin\FileMgr.ini` 中加入:
```ini
[Python Config]
Enabled=1
version=3
```
如果是版本2.7的就用version=2。
## `pyPutVar(var_name, var_value)`
声明:function
送入python变量
| 参数 | 类型 | 说明 |
| ----------- | ------ | ---- |
| `var_name` | string | |
| `var_value` | any | |
返回:integer
## `pyGetVar(var_name)`
声明:function
从python 获得变量
| 参数 | 类型 | 说明 |
| ---------- | ------ | ---- |
| `var_name` | string | |
返回:any
## `pyRun(python_code, flag)`
声明:function
简单运行Python的代码
| 参数 | 类型 | 说明 |
| ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `python_code` | string | 字符串类型,Python代码串,可执行多行代码。注意,使用空格对齐来确定逻辑层级,相同空格数代表同一层级,一般推荐使用4个空格。 |
| `flag` | integer | 可选。整型,默认不被指定,该含义由PyCompileFlags指定组合的状态,处理UTF-8源代码等问题。具体请参考Python手册。 |
返回:integer
### 示例
```tsl
s := "a=1
b=1
if a==1:
b=2
";
pyRun(s);
return array("a": pyGetVar("a"), "b": pyGetVar("b"));
// 输出:a=1,b=2(需支持 Python 插件的旧版运行环境)
```
## `pyCall(call_flag)`
声明:function
调用python 模块中的函数
| 参数 | 类型 | 说明 |
| ----------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `call_flag` | integer | 结果输出方式与参数输入方式的设置,是一个按位(2位二进制)的状态组合值,即取值为二进制的00,01,10,11组合,具体含义如下: |
返回:any
### 示例
#### 范例01:默认参数方式
```tsl
rdo2 pyRun("import numpy");
return rdo2 pyCall('numpy.random', 'randint', 6, 9);
// 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境)
```
#### 范例02:数组参数方式
```tsl
rdo2 pyRun("import numpy");
return pyCall(2, 'numpy.random', 'randint', array('high': 9, 'low': 6));
// 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境)
```
#### 范例03:命名参数方式
```tsl
rdo2 pyRun("import numpy");
return pyCall('numpy.random', 'randint', high: 9, low: 6);
// 输出:6 到 8 之间的随机整数(需支持 Python 插件的旧版运行环境)
```
## `pyRelease()`
声明:function
释放python资源,多线程的时候可以提高效率
返回:bool
## `pyEnsure()`
声明:function
锁定python资源;由于pyrun和pyPutVar,pyGetVar会智能锁定,所以用户一般来说不需要调用该函数。
返回:bool
## `pyError()`
声明:function
获取当前运行 Python 语句时的报错信息
返回:string
### 示例
```tsl
// 本地执行以下脚本
pyRun("a=math.pi"); // 此处会报错因为没有 import math
return pyError();
// 输出:name 'math' is not defined
```
## 已移除或不可用函数
以下函数仅保留用于识别和维护历史代码。
## `rEval(eval_string, code)`
声明:function
执行R的字符串。
| 参数 | 类型 | 说明 |
| ------------- | ------- | ----------------------------------------- |
| `eval_string` | string | 执行的串,例如”a=b+1”。 |
| `code` | integer | 返回是否成功,为0表示成功过,否则为错误码 |
返回:any
## `rGetVar(var_name)`
声明:function
获得一个R的变量的值。
| 参数 | 类型 | 说明 |
| ---------- | ------ | ----------------------- |
| `var_name` | string | 设置的变量名,例如”a”。 |
返回:any
## `rPutVar(var_name, value)`
声明:function
设置一个R的变量的值。
| 参数 | 类型 | 说明 |
| ---------- | ------ | ----------------------- |
| `var_name` | string | 设置的变量名,例如”a”。 |
| `value` | any | 设置的变量的值 |
返回:any
## `rEnsure()`
声明:function
锁定R资源;由于REval和RPutVar,RGetVar会智能锁定,所以用户一般来说不需要调用该函数。
返回:bool
## `rRelease()`
声明:function
释放R资源,多线程的时候可以提高效率
返回:bool
## `mEval(eval_string)`
声明:function
执行MatLab的字符串。
| 参数 | 类型 | 说明 |
| ------------- | ------ | ----------------------- |
| `eval_string` | string | 执行的串,例如”a=b+1”。 |
返回:integer
## `mPutVar(var_name, value)`
声明:function
设置一个MATLAB的变量的值。
| 参数 | 类型 | 说明 |
| ---------- | ------ | ----------------------- |
| `var_name` | string | 设置的变量名,例如”a”。 |
| `value` | any | 设置的变量的值 |
返回:integer
## `mGetVar(var_name)`
声明:function
获得一个MATLAB的变量的值。
| 参数 | 类型 | 说明 |
| ---------- | ------ | ----------------------- |
| `var_name` | string | 要获得变量名,例如”a”。 |
返回:any
## `mGetBuf()`
声明:function
返回MATLAB引擎的警告或者错误信息。
返回:string
## `mClose()`
声明:function
关闭MATLAB引擎。
返回:any
## `mSetVisible(visible)`
声明:function
设置MATLAB引擎是否可视。
| 参数 | 类型 | 说明 |
| --------- | ---- | ------------------------------ |
| `visible` | bool | 如果为真,则显示,为假则隐藏。 |
返回:integer
## `toXml(v)`
声明:function
转换成为XML字符串。
| 参数 | 类型 | 说明 |
| ---- | ---- | -------- |
| `v` | any | 任意类型 |
返回:string
### 示例
```tsl
return toXml('this is XML document');
{返回值为字符串:
}
```
## `xml(v)`
声明:function
把XML串转换为任意类型。
| 参数 | 类型 | 说明 |
| ---- | ------ | ------------- |
| `v` | string | 字符串,XML串 |
返回:any
### 示例
```tsl
return xml('
');
// 返回值为字符串:’this is a document’。
```
## `arrDropDuplicate(data)`
声明:function
数组去重(包含 NAN);仅保留用于识别旧代码。
| 参数 | 类型 | 说明 |
| ------ | ----- | -------------------- |
| `data` | array | 数据表类型。数据表。 |
返回:array
## `chckxy(x, y)`
声明:function
合并x,y后对x列正序排列。
| 参数 | 类型 | 说明 |
| ---- | ----- | -------- |
| `x` | array | 一维数组 |
| `y` | array | 一维数组 |
返回:array
### 示例
```tsl
uses interp_unit; // 置顶
x := array(5, 1, 19, 8);
y := array(2, 3, 1, 7);
chckxy(x, y);
return x | y;
// 输出:array((1,3),(5,2),(8,7),(19,1))
```
## `histc2(a, b)`
声明:function
记录a中的元素在b中第几个区间的位置
| 参数 | 类型 | 说明 |
| ---- | ----- | -------- |
| `a` | array | 一维数组 |
| `b` | array | 一维数组 |
返回:array
### 示例
```tsl
uses interp_unit; // 置顶
a := 1->10;
b := 3->7;
return histc2(a, b);
// 输出:array(0,0,1,1,2,3,4,0,0,0)
```
## `nearest(x, y, xi)`
声明:function
最邻近插值
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------------- |
| `x` | array | 一维数组 横坐标序列 |
| `y` | array | 一维数组 纵坐标序列 |
| `xi` | array | 一维数组 插值点序列 |
返回:array
### 示例
```tsl
uses interp_unit; // 置顶
x := array(5, 1, 19, 8);
y := array(2, 3, 1, 7);
xi := array(4, 12);
return nearest(x, y, xi);
// 输出:array(3,1)
```
## `pchip(x, y, xx)`
声明:function
分段三次hermite插值
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------------- |
| `x` | array | 一维数组 横坐标序列 |
| `y` | array | 一维数组 纵坐标序列 |
| `xx` | array | 一维数组 插值点序列 |
返回:array
### 示例
```tsl
uses interp_unit; // 置顶
x := array(5, 1, 19, 8);
y := array(2, 3, 1, 7);
xx := array(4, 12);
return pchip(x, y, xx);
// 输出:array(3.3403,6.9345)
```
## `ppval(pp, xx)`
声明:function
对插值点列的值数据区间中计算出插值。
| 参数 | 类型 | 说明 |
| ---- | ----- | ------------------------------- |
| `pp` | array | 二维数组 包含列"x","coefs" |
| `xx` | array | 一维数组 插值点序列 |
返回:array
## `pwch(x, y, s, dx, divdif)`
声明:function
计算下x,y所对应的不同间隔区间。
| 参数 | 类型 | 说明 |
| -------- | ----- | -------- |
| `x` | array | 一维数组 |
| `y` | array | 一维数组 |
| `s` | array | 一维数组 |
| `dx` | array | 一维数组 |
| `divdif` | array | 一维数组 |
返回:array
## `GM_Icorr(values, target_index)`
声明:function
计算数据矩阵中各序列相对于指定参考序列的灰色关联系数。
| 参数 | 类型 | 说明 |
| -------------- | ------- | ------------ |
| `values` | array | 二维数据矩阵 |
| `target_index` | integer | 参考序列下标 |
返回:array
## `sf_expcdf(x, mu, v)`
声明:function
计算指数分布的累计分布值。
| 参数 | 类型 | 说明 |
| ---- | ---------- | -------------------------------------- |
| `x` | real/array | 随机变量或随机变量数组 |
| `mu` | real | 分布参数,默认值为 1 |
| `v` | real/array | 可选。写回参数;也可省略并直接取返回值 |
返回:real/array
## `sf_exppdf(x, mu, v)`
声明:function
计算指数分布的概率密度。
| 参数 | 类型 | 说明 |
| ---- | ---------- | -------------------------------------- |
| `x` | real/array | 随机变量或随机变量数组 |
| `mu` | real | 分布参数,默认值为 1 |
| `v` | real/array | 可选。写回参数;也可省略并直接取返回值 |
返回:real/array
## `reportSeriesSplit(table_name)`
声明:function
报告期数据处理。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑。
| 参数 | 类型 | 说明 |
| ------------ | ------ | -------------------- |
| `table_name` | string | 字符串,用户数据名称 |
返回:any