VxMat语言:矩阵 属性/方法(支持函数)
| 函数 | 功能 | 说明 |
| Abs,GetABS | 数字的绝对值。 | |
| ACos,ACCos,ArcCos | 反余弦 | |
| ACosD,ACCosD,ArcCosD | 反余弦(角度) | |
| ASin,ACSin,ArcSin | 反正弦 | |
| ASinD,ACSinD,ArcSinD | 反正弦(角度) | |
Atn,ATAN AtnD,ATAND | 反正切值。 角度单位 | |
| Cos,CosD | 计算角度的余弦值。 | |
| Exp | e (自然对数的底)的乘方。 | |
| Fix | 返回一个数的整数部分。 | Fix与Int的不同在于,当数字为负时,int(-8.4)=-9,fix(-8.4)=-8 |
| Int,Floor | 返回一个数的整数部分。 | |
| LG | 以10为底的对数 | |
| LN | 以自然数为底的对数 | |
| Log | 对数 | log(x,N):以N为底的x的对数 |
| Rnd | 返回一个随机数。 | print rnd(4,5) //生成一个4*5的随机数矩阵 |
| Round | 数字四舍五入。 | print rnd(4,5).round(3) //生成一个4*5的随机数矩阵,并将每个元素的小数保留3位。 |
| Sgn | 返回一个整数,指明一个数的正负。 | |
| Sin,SinD | 角度的正弦值。 | |
| Sqr | 数的平方根。 | |
Tan TanD | 角度的正切值。 | |
| Add | 矩阵加法 | 2023-1-27: 1、当加数为单一数字或只有一个元素时,矩阵的每个元素与加数相加 2、当其中一个参数为1行或1列时,会将该行或该列与另一矩阵的所有的行或列对应的元素相运算 3、如果两个矩阵的维度不一样时,行列维度将会进行扩充 4、支持多个参数 x=[1,2,3] print x.add(10,100),x+10,x+100 |
| Minus | 矩阵减法 | 2023-1-27: 1、当减数为单一数字时,矩阵的每个元素与减数相减 2、当其中一个参数为1行或1列时,会将该行或该列与另一矩阵的所有的行或列对应的元素相运算3、如果两个矩阵的维度不一样时,行列维度将会进行扩充 4、支持多个参数 x=[1,2,3] print x.minus(10),x-10 |
| Multiply | 矩阵乘法 | 2023-1-27: 1、类似加法 2、暂只支持一对一乘法 |
| Div,Divide | 矩阵除法 | 2023-1-27: 1、类似加法 2、暂只支持一对一除法 |
| Pow | 计算矩阵的N次幂 | |
| Split | 将两列的矩阵等分为N列 | x=[1,10].split(100) 等同于:x=linspace(1,10,100) |
| Max | 返回矩阵的最大的值 | print rnd(4,5).max 如果元素中包含表示无限或者是无法计算的元素时,该元素会被忽略 |
| Min | 返回矩阵的最小的值 | print rnd(4,5).min 如果元素中包含表示无限或者是无法计算的元素时,该元素会被忽略 |
Size.Rows,Size.Cols Rows,Cols | 返回或设置元素的行数或列数 | |
| Clone | 克隆矩阵 | 在表达式中,比较特殊的一种赋值方式是: x=[1,2,3] y=x 此时y与x的内存地址会一样,当其中一个矩阵的元素被更改时,另一个也会被更改。如果需要不同的两个矩阵,可以用 y=x.clone |
| Repeat | 将矩阵的行和列重复指定的数量 | x=[1,2;3,4] print x.repeat(3,4) //返回的矩阵为 2*3行,2*4列 |
| Transpose | 矩阵转置 | |
| Exists | 返回是否包含指定的矩阵或元素 | |
| Quotient | 求两个矩阵,第1个矩阵除以第2个矩阵的元素的商 | 类似于加法的元素对应的计算规则 |
| ModAbs | 求余数的绝对值,忽略每个元素的正负号 | |
| Mod | 求余数,符号与第一个元素相同 | print (-7) mod (5) //-2 |
| Rem | 求余数,符号与第二个元素相同 | print (-7) rem (5) //2 |
| 元素比较: | ||
| 等于: =,EQV | x=[1,2,3] x1=2 print x=x1 print x.eqv(x1) | 1、对应的元素比较满足条件时,会设置为1,否则为0,返回一个新的矩阵 2、元素对应规则为: (1)当其中一个为数字或只有一个元素时,另一个的所有元素将会与该数值对比; (2)当其中一个矩阵为1行或1列时,另一个所有的行或列将会一一的对应的元素对比; (3)行列不相同时,会对应的扩充 |
| 不等于:<>,!=,NotEQV,NE | ||
| 小于: <,LT | ||
| 小于或等于:<=,=<,LE | ||
| 大于: >,GT | ||
| 大于或等于:>=,=>,GE | ||
| RtoD | 弧度转为角度 | |
| DtoR | 角度转为弧度 | |
| Floor | 向下取整 | |
| Fix | Fix取整 | |
| Int | Int取整 | |
| Diag | 对角线矩阵 | |
| Fill | 填充指定的数字 | |
| Ones,全1矩阵,全一矩阵 | ||
| Zeros,全0矩阵,全零矩阵 | ||
| Compan,伴随矩阵 | ||
| 内存操作: | ||
Save,Restore Release | 在32位程序中,由于只能使用3.2G左右的内存。 经测试,当一次运行的脚本中包含的矩阵元素达到2亿个数字时,将有可能达到2-3G以上的内存使用量。 在一个脚本运行完成后,该内存会被释放。 当在脚本中需要进行大量的运算时,可以使用 x.Save暂时将不需要的矩阵保存在硬盘中,并使用 Release进行释放后,再进行后面的运算,需要该矩阵时可使用 Restore恢复。 由于硬盘的操作比内存要慢非常的多,当数据量非常大的时候,保存和恢复的时间会需要一定的时间。 | |
转载请注明 : 文章转载自飞哥的不了阁 blog.forbs.cn
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。