矩阵的初始化支持如下:Zeros初始化0矩阵,ones初始化1矩阵,eye初始化单位矩阵,rand初始化随机矩阵,Nils初始化空矩阵。除了eye以外,其他的几个初始化函数在带一个参数的时候为初始化一个一维数组,带两个参数则初始化一个二维数组(矩阵)。
Zeros(10);
返回的是一个10个元素的0数组。
Zeros(10,10);
返回的是一个10*10的全零二维数组。
Eye(10)和Eye(10,10)的结果一样,都是返回一个10*10的单位矩阵。
初始化也可以初始化字符串下标的数组(数据表类型)
Zeros(10,array("F1","F2"));
返回的是一个10行两列,列名为F1和F2的全0数组。
Zeros(array("L1","L2"),array("F1","F2"))
返回一个以L1和L2为行标,F1,F2为列名的全零矩阵。
multiplier := 0->8;
产生一个9个元素的一维数组,个元素为0,1,2……8;
multiplier := array(0,0.05)->8;
产生一个从0开始,步长为0.05,到8的一维数组。
给矩阵每一个固定位置赋值
A := zeros(7);
A[2:4] := ones(3);
此时A的结果是array(0,0,1,1,1,0,0);
A := zeros(7,7);
A[0:6,2:2] := ones(7,1);
冒号可以代表所有行或所有列,比如A[;,0]的冒号表示所有行。