🎨 style(markdown): format markdown files
This commit is contained in:
@@ -45,6 +45,7 @@ TSL 语言中支持复数的表达,虚数单位用 j 表示,记复数 z 为
|
||||
z := 4 + 3j;
|
||||
z := complex(4, 3);
|
||||
```
|
||||
|
||||
即表示 z 是一个实部为 4,虚部为 3 的复数。
|
||||
|
||||
复数在客户端中的显示如下:
|
||||
@@ -98,11 +99,13 @@ return datatype(z);
|
||||
z1 := 4 + 3j;
|
||||
z2 := 5 + 12j;
|
||||
```
|
||||
|
||||
加法:
|
||||
|
||||
```tsl
|
||||
return z1 + z2;
|
||||
```
|
||||
|
||||
返回:9.0+15.0j
|
||||
|
||||
减法:
|
||||
@@ -110,6 +113,7 @@ return z1 + z2;
|
||||
```tsl
|
||||
return z2 - z1;
|
||||
```
|
||||
|
||||
返回:1.0+9.0j
|
||||
|
||||
乘法:
|
||||
@@ -117,6 +121,7 @@ return z2 - z1;
|
||||
```tsl
|
||||
return z1 * z2;
|
||||
```
|
||||
|
||||
返回:-16.0+63.0j
|
||||
|
||||
除法:
|
||||
@@ -124,44 +129,44 @@ return z1 * z2;
|
||||
```tsl
|
||||
return z2 / z1;
|
||||
```
|
||||
|
||||
返回:2.24+1.32j
|
||||
|
||||
##### 复数支持的算符列表
|
||||
|
||||
基础运算符(与实数一致):
|
||||
|
||||
| 运算符 | 说明 | 示例 |
|
||||
| --- | --- | --- |
|
||||
| + | 加 | `1+2j + (2+3j)` |
|
||||
| - | 减,负号 | `2+3j - (3+1j)` |
|
||||
| * | 乘 | `(2+3j) * (3+1j)` |
|
||||
| / | 除 | `(2+3j) / (3+1j)` |
|
||||
| \\ | 左除 | `(3+1j) \\ (2+3j)` |
|
||||
| ~ | 求对数 | `(8+6j) ~ (3+1j)` |
|
||||
| ^ | 求幂 | `(3+1j)^2` |
|
||||
| ! | 求倒数 | `!(3+1j)` |
|
||||
| ++ | 自增 | `(a := 3+1j, a++, a)` |
|
||||
| -- | 自减 | `(a := 3+1j, a--, a)` |
|
||||
| = | 等于 | `(0+2j) = 2j` |
|
||||
| <> | 不等 | `(0+2j) <> 2j` |
|
||||
| $ | 字符串转换与拼接 | `(3+2j)$"A"` |
|
||||
| like | 相似判定 | `3.55+4.16j like 3.55` |
|
||||
| 运算符 | 说明 | 示例 |
|
||||
| ------ | ---------------- | ---------------------- |
|
||||
| + | 加 | `1+2j + (2+3j)` |
|
||||
| - | 减,负号 | `2+3j - (3+1j)` |
|
||||
| \* | 乘 | `(2+3j) * (3+1j)` |
|
||||
| / | 除 | `(2+3j) / (3+1j)` |
|
||||
| \\ | 左除 | `(3+1j) \\ (2+3j)` |
|
||||
| ~ | 求对数 | `(8+6j) ~ (3+1j)` |
|
||||
| ^ | 求幂 | `(3+1j)^2` |
|
||||
| ! | 求倒数 | `!(3+1j)` |
|
||||
| ++ | 自增 | `(a := 3+1j, a++, a)` |
|
||||
| -- | 自减 | `(a := 3+1j, a--, a)` |
|
||||
| = | 等于 | `(0+2j) = 2j` |
|
||||
| <> | 不等 | `(0+2j) <> 2j` |
|
||||
| $ | 字符串转换与拼接 | `(3+2j)$"A"` |
|
||||
| like | 相似判定 | `3.55+4.16j like 3.55` |
|
||||
|
||||
赋值运算符:
|
||||
|
||||
| 运算符 | 说明 | 示例 |
|
||||
| --- | --- | --- |
|
||||
| += | 加等于 | `(a := 3+1j, a += 2+3j, a)` |
|
||||
| -= | 减等于 | `(a := 3+1j, a -= 2+3j, a)` |
|
||||
| *= | 乘等于 | `(a := 3+1j, a *= 2+3j, a)` |
|
||||
| /= | 除等于 | `(a := 2+3j, a /= 3+1j, a)` |
|
||||
| \\= | 左除等于 | `(a := 3+1j, a \\= 2+3j, a)` |
|
||||
| ^= | 幂等于 | `(a := 3+1j, a ^= 2, a)` |
|
||||
| ~= | 对数等于 | `(a := 8+6j, a ~= 3+1j, a)` |
|
||||
| 运算符 | 说明 | 示例 |
|
||||
| ------ | -------- | ---------------------------- |
|
||||
| += | 加等于 | `(a := 3+1j, a += 2+3j, a)` |
|
||||
| -= | 减等于 | `(a := 3+1j, a -= 2+3j, a)` |
|
||||
| \*= | 乘等于 | `(a := 3+1j, a *= 2+3j, a)` |
|
||||
| /= | 除等于 | `(a := 2+3j, a /= 3+1j, a)` |
|
||||
| \\= | 左除等于 | `(a := 3+1j, a \\= 2+3j, a)` |
|
||||
| ^= | 幂等于 | `(a := 3+1j, a ^= 2, a)` |
|
||||
| ~= | 对数等于 | `(a := 8+6j, a ~= 3+1j, a)` |
|
||||
|
||||
矩阵与集合相关的运算符与示例见 06 扩展语法(矩阵/集合)章节。
|
||||
|
||||
|
||||
#### 相关模型
|
||||
|
||||
##### 复数生成
|
||||
@@ -280,118 +285,115 @@ A := array(1 + 2j, 2.5 + 3j);
|
||||
A: := real(mcell);
|
||||
return A;
|
||||
```
|
||||
|
||||
返回的结果为:array(1.0,2.5)
|
||||
|
||||
###### 复数支持的常用函数列表
|
||||
|
||||
|
||||
| No | 函数名 | 功能 | 举例 |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | Complex | 构建复数或复数矩阵 | Complex(1,2)返回1+2j |
|
||||
| 2 | IfComplex | 判断是否为复数 | IfComplex(1+2j)返回1 |
|
||||
| 3 | Datatype | 判断数据类型 复数的编号为41 | Datatype(1+2j)返回41 |
|
||||
| 4 | real | 取实部 | 如real(2.5+3.2j)返回实数2.5 |
|
||||
| 5 | Imag | 取虚部 | 如Imag(2.5+3.2j)返回实数3.2 |
|
||||
| 6 | Conj | 共轭复数 | 如Conj (2.5+3.2j)返回2.5-3.2j |
|
||||
| 7 | Abs | 取模 | 如Abs(3+4j)返回复数的模5 |
|
||||
| 8 | Minit | 初始化FMArray | 如Minit(3,1+2j) |
|
||||
| 9 | Minitdiag | 对角矩阵初始化FMArray | 如MinitDiag(3,3,1+0j); |
|
||||
| 10 | Sqr | 求平方 | 如Sqr(3+1j) |
|
||||
| 11 | Sqrt | 求平方根 | 如sqrt(5+12j) |
|
||||
| 12 | dupValue | 复制值 | 如dupValue(2+1j) |
|
||||
| 13 | Integer | 强制转换为整数 | 如Integer(3.33+2.5j)结果为3 |
|
||||
| 14 | Int64 | 对实部进行取整 | int64(2.5+1.6j)返回2 |
|
||||
| 15 | log10 | 以10为底的对数 | 如log10(2+1j) |
|
||||
| 16 | Log2 | 以2为底的对数 | 如log2(2+1j) |
|
||||
| 17 | LogN | 以指定N为底的对数 | 如LogN(3,2+1j) |
|
||||
| 18 | Int | 将实部与虚部保留整数部分 | int(2.5+1.6j) 返回2.0+1.0j |
|
||||
| 19 | Frac | 对实部与虚部进取小数部分 | Frac(6.4-3.2j)返回0.4-0.2j |
|
||||
| 20 | Ceil | 对实部与虚部进行向上取整 | Ceil(6.1+3.5j)结果为7.0+4.0j |
|
||||
| 21 | Ceil32 | 对实部与虚部进行向上取整 | Ceil32(6.1+3.5j)结果为7.0+4.0j |
|
||||
| 22 | Ceil64 | 对实部与虚部进行向上取整 | Ceil64(6.1+3.5j) 结果为7.0+4.0j |
|
||||
| 23 | Floor | 对实部与虚部进行向下取整 | Floor(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 24 | Floor32 | 对实部与虚部进行向下取整 | Floor32(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 25 | Floor64 | 对实部与虚部进行向下取整 | Floor64(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 26 | Trunc | 对实部与虚部进行近0取整 | Trunc(6.1-3.2j)结果为6.0-3.0j |
|
||||
| 27 | Trunc32 | 对实部与虚部进行近0取整 | Trunc32(6.1-3.2j)结果为6.0-3.0j |
|
||||
| 28 | Trunc64 | 对实部与虚部进行近0取整 | Trunc64(6.1-3.2j)结果为6.0-3.0j |
|
||||
| | 精度相关函数,对实部与虚部分别进行处理 | | |
|
||||
| 29 | FloatN | 四舍五入 | 如:FloatN(2145.3456-1234.3446j,2) 返回:2145.35-1234.34j |
|
||||
| 30 | RoundTo5 | .5处理 | RoundTo5(2.45-21.05j) 返回:2.5-21.0j |
|
||||
| 31 | RoundTo | 四舍五入,银行家算法 | roundto(123.3446-123.3446j,-2) 返回:123.34-123.34j |
|
||||
| 32 | SimpleRoundTo | 四舍五入 | simpleroundto(2154.3456-1246.3456j,2) 返回:2200.0-1200.0j |
|
||||
| 33 | Round | 四舍五入后输出整数,银行家算法 | round(2145.3456-1234.3456j) 返回:2145.0-1234.0j |
|
||||
| 34 | round32 | 四舍五入后输出整数,银行家算法 | round32(6.5+3.5j) 返回:6.0+4.0j |
|
||||
| 35 | round64 | 四舍五入后输出整数,银行家算法 | Round64(6.5+3.5j) 返回:6.0+4.0j |
|
||||
| 36 | simpleround | 四舍五入后输出整数 | simpleround(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| 37 | simpleround32 | 四舍五入后输出整数 | simpleround32(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| 38 | simpleround64 | 四舍五入后输出整数 | Simpleround64(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| | 其它基础函数 | | |
|
||||
| 39 | IsZero | 在指定精度下是否等于0,可用于判断两个值是否相等 | IsZero(0.000001+0.0001j,0.00001)结果为0 |
|
||||
| 40 | ToStn | 转换成STN字符串 | 如tostn(2.2+3.5j)返回字符串的” 2.2+3.5j” |
|
||||
| 41 | Stn | 将串转成任意类型 | 如stn(“1+2j”)返回复数1.0+2.0j |
|
||||
| 42 | Format | 将数值转换成指定格式字符串 | 如Format("%.3f",2.55+4.1j)返回字符串” 2.550+4.100j” |
|
||||
| 43 | DivValue | 除运算 | 如DivValue(2+3j,3+4j)等同于(2+3j)/( 3+4j) |
|
||||
| 44 | Eval | 执行表达式 | 如eval(&"2+3.22+3.14j")返回5.22+3.14j |
|
||||
| 45 | call | 调用函数 | 如call("abs",3-4j) 返回5 |
|
||||
| 46 | CallInarray | 调用函数 | 如callInarray("abs",array(3-4j))返回5 |
|
||||
|
||||
| No | 函数名 | 功能 | 举例 |
|
||||
| --- | -------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------- |
|
||||
| 1 | Complex | 构建复数或复数矩阵 | Complex(1,2)返回1+2j |
|
||||
| 2 | IfComplex | 判断是否为复数 | IfComplex(1+2j)返回1 |
|
||||
| 3 | Datatype | 判断数据类型 复数的编号为41 | Datatype(1+2j)返回41 |
|
||||
| 4 | real | 取实部 | 如real(2.5+3.2j)返回实数2.5 |
|
||||
| 5 | Imag | 取虚部 | 如Imag(2.5+3.2j)返回实数3.2 |
|
||||
| 6 | Conj | 共轭复数 | 如Conj (2.5+3.2j)返回2.5-3.2j |
|
||||
| 7 | Abs | 取模 | 如Abs(3+4j)返回复数的模5 |
|
||||
| 8 | Minit | 初始化FMArray | 如Minit(3,1+2j) |
|
||||
| 9 | Minitdiag | 对角矩阵初始化FMArray | 如MinitDiag(3,3,1+0j); |
|
||||
| 10 | Sqr | 求平方 | 如Sqr(3+1j) |
|
||||
| 11 | Sqrt | 求平方根 | 如sqrt(5+12j) |
|
||||
| 12 | dupValue | 复制值 | 如dupValue(2+1j) |
|
||||
| 13 | Integer | 强制转换为整数 | 如Integer(3.33+2.5j)结果为3 |
|
||||
| 14 | Int64 | 对实部进行取整 | int64(2.5+1.6j)返回2 |
|
||||
| 15 | log10 | 以10为底的对数 | 如log10(2+1j) |
|
||||
| 16 | Log2 | 以2为底的对数 | 如log2(2+1j) |
|
||||
| 17 | LogN | 以指定N为底的对数 | 如LogN(3,2+1j) |
|
||||
| 18 | Int | 将实部与虚部保留整数部分 | int(2.5+1.6j) 返回2.0+1.0j |
|
||||
| 19 | Frac | 对实部与虚部进取小数部分 | Frac(6.4-3.2j)返回0.4-0.2j |
|
||||
| 20 | Ceil | 对实部与虚部进行向上取整 | Ceil(6.1+3.5j)结果为7.0+4.0j |
|
||||
| 21 | Ceil32 | 对实部与虚部进行向上取整 | Ceil32(6.1+3.5j)结果为7.0+4.0j |
|
||||
| 22 | Ceil64 | 对实部与虚部进行向上取整 | Ceil64(6.1+3.5j) 结果为7.0+4.0j |
|
||||
| 23 | Floor | 对实部与虚部进行向下取整 | Floor(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 24 | Floor32 | 对实部与虚部进行向下取整 | Floor32(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 25 | Floor64 | 对实部与虚部进行向下取整 | Floor64(6.1+3.5j)结果为6.0+3.0j |
|
||||
| 26 | Trunc | 对实部与虚部进行近0取整 | Trunc(6.1-3.2j)结果为6.0-3.0j |
|
||||
| 27 | Trunc32 | 对实部与虚部进行近0取整 | Trunc32(6.1-3.2j)结果为6.0-3.0j |
|
||||
| 28 | Trunc64 | 对实部与虚部进行近0取整 | Trunc64(6.1-3.2j)结果为6.0-3.0j |
|
||||
| | 精度相关函数,对实部与虚部分别进行处理 | | |
|
||||
| 29 | FloatN | 四舍五入 | 如:FloatN(2145.3456-1234.3446j,2) 返回:2145.35-1234.34j |
|
||||
| 30 | RoundTo5 | .5处理 | RoundTo5(2.45-21.05j) 返回:2.5-21.0j |
|
||||
| 31 | RoundTo | 四舍五入,银行家算法 | roundto(123.3446-123.3446j,-2) 返回:123.34-123.34j |
|
||||
| 32 | SimpleRoundTo | 四舍五入 | simpleroundto(2154.3456-1246.3456j,2) 返回:2200.0-1200.0j |
|
||||
| 33 | Round | 四舍五入后输出整数,银行家算法 | round(2145.3456-1234.3456j) 返回:2145.0-1234.0j |
|
||||
| 34 | round32 | 四舍五入后输出整数,银行家算法 | round32(6.5+3.5j) 返回:6.0+4.0j |
|
||||
| 35 | round64 | 四舍五入后输出整数,银行家算法 | Round64(6.5+3.5j) 返回:6.0+4.0j |
|
||||
| 36 | simpleround | 四舍五入后输出整数 | simpleround(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| 37 | simpleround32 | 四舍五入后输出整数 | simpleround32(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| 38 | simpleround64 | 四舍五入后输出整数 | Simpleround64(6.5+3.5j) 返回:7.0+4.0j |
|
||||
| | 其它基础函数 | | |
|
||||
| 39 | IsZero | 在指定精度下是否等于0,可用于判断两个值是否相等 | IsZero(0.000001+0.0001j,0.00001)结果为0 |
|
||||
| 40 | ToStn | 转换成STN字符串 | 如tostn(2.2+3.5j)返回字符串的” 2.2+3.5j” |
|
||||
| 41 | Stn | 将串转成任意类型 | 如stn(“1+2j”)返回复数1.0+2.0j |
|
||||
| 42 | Format | 将数值转换成指定格式字符串 | 如Format("%.3f",2.55+4.1j)返回字符串” 2.550+4.100j” |
|
||||
| 43 | DivValue | 除运算 | 如DivValue(2+3j,3+4j)等同于(2+3j)/( 3+4j) |
|
||||
| 44 | Eval | 执行表达式 | 如eval(&"2+3.22+3.14j")返回5.22+3.14j |
|
||||
| 45 | call | 调用函数 | 如call("abs",3-4j) 返回5 |
|
||||
| 46 | CallInarray | 调用函数 | 如callInarray("abs",array(3-4j))返回5 |
|
||||
|
||||
##### 支持复数矩阵的函数列表
|
||||
|
||||
除基础函数支持对复数矩阵的操作外,如统计函数、分解函数等也支持复数矩阵的运算,具体列表如下:
|
||||
|
||||
|
||||
| No | 函数名 | 功能 | 与实数处理的差异 | |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | IfComplex | 判断每个元素是否为复数,如 ifComplex(array(2,2j),1) | | |
|
||||
| 2 | Datatype | 返回每个元素的数据类型的编号,如 Datatype(array(2,2j),1) | | |
|
||||
| 3 | arraytofm | 将Array数组转成FMarray矩阵 如arraytofm(t,2j) | | |
|
||||
| 4 | ExportCsv | 将数组转成csv字符串,如 ExportCsv(array((2+3j,1+2j),(2,3)),s) | | |
|
||||
| | ….其它数据类型的判定函数 | | | |
|
||||
| | 统计函数 | 具体用法请查看官方函数说明 | | |
|
||||
| 1 | Mean | 求算术平均值 | | |
|
||||
| 2 | Sum | 求和 | | |
|
||||
| 3 | sumInt | 对实部和虚部分别求整数部分和 | 算法: sumint(real(a))+sumint(imag(a))*1j | |
|
||||
| 4 | SumOfSquares | 求数组平方和 | 无 | |
|
||||
| 5 | Norm | 求数组平方和的平方根 | 在复数的计算中,a*conj(a)会替代平方,因此Norm的算法为: sqrt(sum(a*conj(a))) 虚部恒为0,所以norm仅返回实部的值 | |
|
||||
| 6 | SumsAndSquares | 计算总和以及平方和 | 无 | |
|
||||
| 7 | StdDev | 样本标准差 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 8 | PopnStdDev | 总体标准差 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 9 | Variance | 样本方差 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 10 | PopnVariance | 总体方差 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 11 | TotalVariance | 总体偏差 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 12 | MeanAndStdDev | 计算平均值和标准差 | 标准差算法同StdDev | |
|
||||
| 13 | Geomean | 几何平均数 | | |
|
||||
| 14 | Harmean | 调和平均数 | | |
|
||||
| 15 | Mode | 众数 | | |
|
||||
| 16 | AveDev | 均值绝对偏差 | | |
|
||||
| 17 | DevSq | 样本平均值偏差的平方和 | 算法中计算平方由a*conj(a)替代,其它不变 | |
|
||||
| 18 | Product | 累乘值 | | |
|
||||
| 19 | Randomfrom | 从一组数据中随机抽取一个样本 | | |
|
||||
| 20 | VariationCoefficient | 变异系数 | 算法中计算平方由a*conj(a)替代,其它不变,需等升级 | |
|
||||
| | 双序列统计函数 | | | |
|
||||
| 1 | Cov | 协方差 | E[X-ux*Conj(Y-uy)] | |
|
||||
| 2 | Correl | 相关系数 | Cov与PopnStdDev符合复数运算 | |
|
||||
| 3 | Slopeandintercept | 回归斜率和截距 | | |
|
||||
| 4 | Slope | 回归斜率 | | |
|
||||
| 5 | Intercept | 回归截距 | | |
|
||||
| 6 | RSQ | 乘积矩相关系数平方 | | |
|
||||
| 7 | Steyx | 相对标准偏差 | | |
|
||||
| 8 | BetaAndAlpha | 斜率和截距 | | |
|
||||
| 9 | MeanAndPopnStdDevWithRate | 带权重总体标准差以及平均值 | | |
|
||||
| | 矩阵运算及分解 | | | |
|
||||
| 1 | mt_Transposition | 矩阵转置 | | |
|
||||
| 2 | mt_Multiplication | 矩阵乘 | | |
|
||||
| 3 | mt_Addition | 矩阵和 | | |
|
||||
| 4 | mt_Subtraction | 矩阵差 | | |
|
||||
| 5 | Mt_decompose_lu | 进行lu分解, 函数输出中vi为0,wr为复数特征值 | | |
|
||||
| 6 | Mt_decompose_qr | 对矩阵进行QR分解 | | |
|
||||
| 7 | Mt_decompose_eig | 特征值及特征向量 | | |
|
||||
| 8 | Mt_decompose_chol | cholesky分解 | | |
|
||||
| 9 | Mt_decompose_svd | 进行SVD分解 | 实矩阵验证方式: U :* (eye(n,m)*s) :* `v 复矩阵验证方式: U :* (eye(n,m)*s) :* conj(`v) | |
|
||||
| 10 | Mt_decompose_ldl | ldl分解 | | |
|
||||
|
||||
| No | 函数名 | 功能 | 与实数处理的差异 | |
|
||||
| --- | ------------------------- | ------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --- |
|
||||
| 1 | IfComplex | 判断每个元素是否为复数,如 ifComplex(array(2,2j),1) | | |
|
||||
| 2 | Datatype | 返回每个元素的数据类型的编号,如 Datatype(array(2,2j),1) | | |
|
||||
| 3 | arraytofm | 将Array数组转成FMarray矩阵 如arraytofm(t,2j) | | |
|
||||
| 4 | ExportCsv | 将数组转成csv字符串,如 ExportCsv(array((2+3j,1+2j),(2,3)),s) | | |
|
||||
| | ….其它数据类型的判定函数 | | | |
|
||||
| | 统计函数 | 具体用法请查看官方函数说明 | | |
|
||||
| 1 | Mean | 求算术平均值 | | |
|
||||
| 2 | Sum | 求和 | | |
|
||||
| 3 | sumInt | 对实部和虚部分别求整数部分和 | 算法: sumint(real(a))+sumint(imag(a))\*1j | |
|
||||
| 4 | SumOfSquares | 求数组平方和 | 无 | |
|
||||
| 5 | Norm | 求数组平方和的平方根 | 在复数的计算中,a*conj(a)会替代平方,因此Norm的算法为: sqrt(sum(a*conj(a))) 虚部恒为0,所以norm仅返回实部的值 | |
|
||||
| 6 | SumsAndSquares | 计算总和以及平方和 | 无 | |
|
||||
| 7 | StdDev | 样本标准差 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 8 | PopnStdDev | 总体标准差 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 9 | Variance | 样本方差 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 10 | PopnVariance | 总体方差 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 11 | TotalVariance | 总体偏差 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 12 | MeanAndStdDev | 计算平均值和标准差 | 标准差算法同StdDev | |
|
||||
| 13 | Geomean | 几何平均数 | | |
|
||||
| 14 | Harmean | 调和平均数 | | |
|
||||
| 15 | Mode | 众数 | | |
|
||||
| 16 | AveDev | 均值绝对偏差 | | |
|
||||
| 17 | DevSq | 样本平均值偏差的平方和 | 算法中计算平方由a\*conj(a)替代,其它不变 | |
|
||||
| 18 | Product | 累乘值 | | |
|
||||
| 19 | Randomfrom | 从一组数据中随机抽取一个样本 | | |
|
||||
| 20 | VariationCoefficient | 变异系数 | 算法中计算平方由a\*conj(a)替代,其它不变,需等升级 | |
|
||||
| | 双序列统计函数 | | | |
|
||||
| 1 | Cov | 协方差 | E[X-ux*Conj(Y-uy)] | |
|
||||
| 2 | Correl | 相关系数 | Cov与PopnStdDev符合复数运算 | |
|
||||
| 3 | Slopeandintercept | 回归斜率和截距 | | |
|
||||
| 4 | Slope | 回归斜率 | | |
|
||||
| 5 | Intercept | 回归截距 | | |
|
||||
| 6 | RSQ | 乘积矩相关系数平方 | | |
|
||||
| 7 | Steyx | 相对标准偏差 | | |
|
||||
| 8 | BetaAndAlpha | 斜率和截距 | | |
|
||||
| 9 | MeanAndPopnStdDevWithRate | 带权重总体标准差以及平均值 | | |
|
||||
| | 矩阵运算及分解 | | | |
|
||||
| 1 | mt_Transposition | 矩阵转置 | | |
|
||||
| 2 | mt_Multiplication | 矩阵乘 | | |
|
||||
| 3 | mt_Addition | 矩阵和 | | |
|
||||
| 4 | mt_Subtraction | 矩阵差 | | |
|
||||
| 5 | Mt_decompose_lu | 进行lu分解, 函数输出中vi为0,wr为复数特征值 | | |
|
||||
| 6 | Mt_decompose_qr | 对矩阵进行QR分解 | | |
|
||||
| 7 | Mt_decompose_eig | 特征值及特征向量 | | |
|
||||
| 8 | Mt_decompose_chol | cholesky分解 | | |
|
||||
| 9 | Mt_decompose_svd | 进行SVD分解 | 实矩阵验证方式: U :* (eye(n,m)*s) :_ `v 复矩阵验证方式: U :_ (eye(n,m)_s) :_ conj(`v) | |
|
||||
| 10 | Mt_decompose_ldl | ldl分解 | | |
|
||||
|
||||
##### 复数支持的相关说明
|
||||
|
||||
@@ -438,12 +440,14 @@ t := array(1, 1 + 2j);
|
||||
t: := ifComplex(mcell)?mcell:complex(mcell, 0);
|
||||
return t;
|
||||
```
|
||||
|
||||
第二种:复数重构
|
||||
|
||||
```tsl
|
||||
t := array(1, 1 + 2j);
|
||||
return complex(real(t), imag(t));
|
||||
```
|
||||
|
||||
转换后结果如下:
|
||||
|
||||
转换完成后,就可以进行 sum(t)的操作了。
|
||||
@@ -618,6 +622,7 @@ A---End
|
||||
```tsl
|
||||
// 解析:B.FA 返回”A”,说明 B 引用 A 指向的对象;当 A 设置为 nil 时,A 对应的对象被成功释放,即 B:=makeweakref(A);没有导致 A 指向的对象的引用数加 1,B 是一个弱引用。
|
||||
```
|
||||
|
||||
##### weakref_get:生成强引用定义 2
|
||||
|
||||
范例
|
||||
@@ -851,11 +856,13 @@ FB,FC 为非自动弱引用。
|
||||
```tsl
|
||||
[WeakRef] x1[, x2, …];
|
||||
```
|
||||
|
||||
指定成员 x1(或 x2 等,多个变量用,隔开)为自动弱引用
|
||||
|
||||
```tsl
|
||||
[AutoRef]x1[, x2, …];
|
||||
```
|
||||
|
||||
指定成员 x1(或 x2 等,多个变量用,隔开)为强引用,一般在弱引用设定环境下使用。
|
||||
|
||||
即带[ ]只对当前语句中的变量有效,不带[]就是对段落有效。
|
||||
@@ -874,6 +881,7 @@ type AutoWeakTest2 = class
|
||||
FOnMouseOver;
|
||||
end;
|
||||
```
|
||||
|
||||
上面的强引用成员变量有:FA、FC、FD。
|
||||
弱引用成员变量有:FB,FB2,FB3,FonClick, FonMouseMove, FonMouseOver。
|
||||
|
||||
@@ -884,9 +892,11 @@ end;
|
||||
2 对 property write 指定的成员变量赋值
|
||||
|
||||
即,若 property A write
|
||||
|
||||
```tsl
|
||||
B 中,B 是弱引用或者 B(v)方法中存在对弱引用的成员变量进行赋值,则在对 A 进行写入时(A := obj),B 此时产生的引用也是弱引用。
|
||||
```
|
||||
|
||||
3 将成员变量作为参数送入 TSL 开发的函数,在函数内对参数赋值
|
||||
|
||||
即,在类的方法中将成员变量作为参数送入到被调用的函数中,在函数内对参数赋值
|
||||
@@ -1022,6 +1032,7 @@ Unsupport AutoWeak
|
||||
```tsl
|
||||
// 定义:[class] function operator funcNmane([,p1[,p2[,…]]]);
|
||||
```
|
||||
|
||||
说明:其中 class 关键字表示定义为类方法,为可选关键字。
|
||||
|
||||
Operator:为重载关键字
|
||||
@@ -1137,7 +1148,6 @@ ret := TryStrToInt(c, msg);
|
||||
return array(ret, msg);
|
||||
```
|
||||
|
||||
|
||||
可以看到,字符串” 314”成功被转换成整数类型,并且结果被赋值给了参数 msg。
|
||||
|
||||
##### 对象中对二进制函数重载的应用
|
||||
@@ -1254,6 +1264,7 @@ end;
|
||||
```tsl
|
||||
// 定义: function operator for(flag:integer);
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
Operator:为重载关键字
|
||||
@@ -1370,6 +1381,7 @@ in 操作进行重载实现,通过对 flag 的控制,可以实现每次循
|
||||
```tsl
|
||||
// 定义:[class] function operator KeyWord([p1[,p2[,…]]]);
|
||||
```
|
||||
|
||||
说明:其中 class 关键字表示定义为类方法,为可选关键字。
|
||||
|
||||
Operator:为重载关键字
|
||||
@@ -1428,6 +1440,7 @@ array("A","B","C")
|
||||
```tsl
|
||||
// 定义:function operator KeyWord([p1[,p2[,…]]]);
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
Operator:为重载关键字
|
||||
|
||||
Reference in New Issue
Block a user