Resize

返回已更改形状和大小的新矩阵。

bool matrix::Resize(

  const ulong  rows,     // 

  const ulong  cols,     // 新列数。

  const ulong  reserve=0 // 项目保留额度。

   );



bool vector::Resize(

  const ulong  size,     // 新大小。

  const ulong  reserve=0 // 项目保留额度。

   );

参数

rows

[输入]  新的行数.

cols

[输入]  新的列数.

返回值

成功时返回 true,否则返回 false。

注意

矩阵(或向量)就地处理。 不会创建任何副本。 可以指定任何大小,即,rows_new*cols_new!=rows_old*cols_old。 与 Reshape 不同,矩阵是逐行处理的。 当增加列数时,额外列的数值均未定义。 当增加行数时,额外行的数值均未定义。 当减少列数时,矩阵的每一行都会被截断。

举例

   matrix matrix_a={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};

   Print("matrix_a\n",matrix_a);

   matrix_a.Resize(2,6);

   Print("Ressize(2,6)\n",matrix_a);

   matrix_a.Resize(3,5);

   Print("Resize(3,5)\n",matrix_a);

   matrix_a.Resize(2,4);

   Print("Resize(2,4)\n",matrix_a);



   /*

   matrix_a

   [[1,2,3]

    [4,5,6]

    [7,8,9]

    [10,11,12]]

   Ressize(2,6)

   [[1,2,3,4,5,6]

    [4,5,6,10,11,12]]

   Resize(3,5)

   [[1,2,3,4,5]

    [4,5,6,10,11]

    [11,12,3,8,8]]

   Resize(2,4)

   [[1,2,3,4]

    [4,5,6,10]]

   */