知识库 > 矩阵专题

矩阵初始化    

  • 矩阵的初始化支持如下: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]的冒号表示所有行。