FMArray支持行的自扩张,但不支持其他维度的自扩张。
比如,初始化一个3行2列的矩阵:A:=minit(3,2,0.0);
而后赋值:A[100]:=1;
即此时的A的大小变成了101行2列的矩阵,自扩张产生的中间值用0补充。
例如:
f:=fmarray[1,2,3];//3行
f[10]:=10; //赋值下标为10的行的值为10,此时的f会进行自扩张
return f;
返回:(可以看出自扩张的地方是用0在补充)
同样也支持对多维数组的行进行自扩张。
比如:
f:=fmarray[[[1.5,2.2],[1.6,1.0]],[[1.4,-1.1],[-0.4,2.]]];//f的大小为2*2*2
f[10]:=10;
return f; //此时的f大小为11*2*2,单元格数据类型依旧是浮点数