Fmarray支持集合运算
Union2,intersect,outersect,minus都支持
集合运算支持和array的混合运算
计算的结果的数据类型和左值相同
即 fmarray union2 array -> fmarray
array union2 fmarray -> array
如果合并操作的结果类型为fmarray,fmarray的单元格类型是能包容左右操作数单元格的类型
表现如下:
整数矩阵和浮点矩阵的操作是浮点矩阵
整数矩阵和64位整型矩阵的操作是64位整型矩阵
64位整型矩阵和浮点矩阵的操作是浮点矩阵
注:多维矩阵做集合运算时,维度必须一致,且除第一维度的长度可以不相同外,其余维度的长度必须相同。
范例01:矩阵集合并操(union2:将两个集合中的元素的合集去重后的结果)
f1:=fmarray[1,2,0,4,5];
f2:=fmarray[1,0,7];
t:= f1 union2 f2;
t的值为:fmarray[1,2,0,4,5,7]; 有去重效果
范例02:Fmarray 与 array做并操作
f1:=fmarray[1,2,0,4,5];
f2:=array(1,0,7.2);
t1:=f1 union2 f2;
t2:=f2 unon2 f1;
t1的结果为:fmarray[1.0,2.0,0.0,4.0,5.0,7.2],可以看出矩阵中单元格类型为浮点数。
t2的结果为:array(1,0,7.2,1,2,0,4,5)
范例03:二维矩阵的并操作
f1:=fmarray[[1,2],[0,4],[5,6]];
f2:=array((1,2),(3,3));
return f1 union2 f2;
返回结果如下:(Fmarray矩阵)
还支持多矩阵合并,如 f1 union2 f2 union2 f3等操作。
其它集运算用法同union2。更多功能介绍请查看该关键字的帮助说明。