96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
# Assign
|
||
|
||
Copies a matrix, vector or array with auto cast.
|
||
|
||
```
|
||
bool matrix::Assign(
|
||
const matrix<T> &mat // copied matrix
|
||
);
|
||
bool matrix::Assign(
|
||
const void &array[] // copied array
|
||
);
|
||
bool vector::Assign(
|
||
const vector<T> &vec // copied vector
|
||
);
|
||
bool vector::Assign(
|
||
const void &array[] // copied array
|
||
);
|
||
|
||
|
||
```
|
||
|
||
Parameters
|
||
|
||
m, v or array
|
||
|
||
[in] The matrix, vector or array the values are copied from.
|
||
|
||
Return Value
|
||
|
||
Returns true if successful, otherwise — false.
|
||
|
||
Note
|
||
|
||
Unlike [Copy](/en/docs/matrix/matrix_manipulations/matrix_copy), the Assign method allows copying arrays as well. In this case, the auto cast takes place, while the resulting matrix or vector adjusts to the size of the copied array.
|
||
|
||
Example:
|
||
|
||
```
|
||
//--- copy the matrices
|
||
matrix a= {{2, 2}, {3, 3}, {4, 4}};
|
||
matrix b=a+2;
|
||
matrix c;
|
||
Print("matrix a \n", a);
|
||
Print("matrix b \n", b);
|
||
c.Assign(b);
|
||
Print("matrix c \n", a);
|
||
|
||
//--- copy the array to the matrix
|
||
matrix double_matrix=matrix::Full(2,10,3.14);
|
||
Print("double_matrix before Assign() \n", double_matrix);
|
||
int int_arr[5][5]= {{1, 2}, {3, 4}, {5, 6}};
|
||
Print("int_arr: ");
|
||
ArrayPrint(int_arr);
|
||
double_matrix.Assign(int_arr);
|
||
Print("double_matrix after Assign(int_arr) \n", double_matrix);
|
||
/*
|
||
matrix a
|
||
[[2,2]
|
||
[3,3]
|
||
[4,4]]
|
||
matrix b
|
||
[[4,4]
|
||
[5,5]
|
||
[6,6]]
|
||
matrix c
|
||
[[2,2]
|
||
[3,3]
|
||
[4,4]]
|
||
|
||
double_matrix before Assign()
|
||
[[3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14]
|
||
[3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14,3.14]]
|
||
|
||
int_arr:
|
||
[,0][,1][,2][,3][,4]
|
||
[0,] 1 2 0 0 0
|
||
[1,] 3 4 0 0 0
|
||
[2,] 5 6 0 0 0
|
||
[3,] 0 0 0 0 0
|
||
[4,] 0 0 0 0 0
|
||
|
||
double_matrix after Assign(int_arr)
|
||
[[1,2,0,0,0]
|
||
[3,4,0,0,0]
|
||
[5,6,0,0,0]
|
||
[0,0,0,0,0]
|
||
[0,0,0,0,0]]
|
||
|
||
*/
|
||
|
||
```
|
||
|
||
See also
|
||
|
||
[Copy](/en/docs/matrix/matrix_manipulations/matrix_copy)
|