VxMat语言:矩阵 属性/方法(支持函数)

郑鹏飞4年前矩阵46888
函数功能说明
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
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。

相关文章

VxMat 语言参考-矩阵篇

VxMat 语言参考-矩阵篇

矩阵定义:    矩阵需在方括号[]中被定义,每个元素使用逗号分隔,使用分号分行x=[11,12,13,14;21,22,23,24;31,32,33,34] print&nbs...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。