MatrixXd::Identity(rows,cols) // eye(rows,cols) 单位矩阵 C.setIdentity(rows,cols) // C = eye(rows,cols) 单位矩阵 MatrixXd::Zero(rows,cols) // zeros(rows,cols) 零矩阵 C.setZero(rows,cols) // C = ones(rows,cols) 零矩阵 MatrixXd::Ones(rows,cols) // ones(rows,cols)全一矩阵 ...
P.middleCols(j, cols)// P(:, j+1:j+cols) P.rightCols<cols>()// P(:, end-cols+1:end) P.rightCols(cols)// P(:, end-cols+1:end) P.topRows<rows>()// P(1:rows, :) P.topRows(rows)// P(1:rows, :) P.middleRows<rows>(i)// P(i+1:i+rows, :) P.middleRows(i,r...
sm2.topRows(nrows) = ...; sm2.middleRows(i,nrows) = ...; sm2.bottomRows(nrows) = ...; 另外,稀疏矩阵提供了SparseMatrixBase::innerVector()和SparseMatrixBase::innerVectors()方法,它们是分别是列主存贮col/middleCols和行主存贮的row/middleRows的别名。 三角块视图和自伴视图 与稠密矩阵类似,triang...
P.middleRows<rows>(i) // P(i+1:i+rows, :) P.middleRows(i, rows) // P(i+1:i+rows, :) P.bottomRows<rows>() // P(end-rows+1:end, :) P.bottomRows(rows) // P(end-rows+1:end, :) P.topLeftCorner(rows, cols) // P(1:rows, 1:cols) P.topRightCorner(rows, cols) ...
C.setRandom(rows,cols) // C = rand(rows,cols)*2-1 同上 VectorXd::LinSpaced(size,low,high) // linspace(low,high,size)'线性分布的数组 v.setLinSpaced(size,low,high) // v = linspace(low,high,size)'线性分布的数组 1. 2. 3. ...
重置矩阵大小:当前矩阵的行数、列数、大小可以通过rows()、cols()和size()来获取,对于动态矩阵可以通过resize()函数来动态修改矩阵的大小。注意:(1)、固定大小的矩阵是不能使用resize()来修改矩阵的大小;(2)、resize()函数会析构掉原来的数据,因此调用resize()函数之后将不能保证元素的值不改变;(3)、使用”=...
P.middleCols(j,cols)// P(:, j+1:j+cols) P.rightCols<cols>()// P(:, end-cols+1:end) P.rightCols(cols)// P(:, end-cols+1:end) P.topRows<rows>()// P(1:rows, :) P.topRows(rows)// P(1:rows, :) P.middleRows<rows>(i)// P(i+1:i+rows, :) ...
build$ ./eigenTest m.leftCols(2) = 1 2 5 6 9 10 13 14 m.bottomRows<2>() = 9 10 11 12 13 14 15 16 After assignment, m = 8 12 16 4 5 6 7 8 9 10 11 12 13 14 15 16 m.middleCols(1,2) = 12 16 6 7 10 11 14 15 m.middleRows<1>(2) = 9 10 11 12 1 2 ...
cols列P.middleCols(j, cols)//P(:, j+1:j+cols)P.rightCols<cols>()//P(:, end-cols+1:end)P.rightCols(cols)//P(:, end-cols+1:end)P.topRows<rows>()//P(1:rows, :)P.topRows(rows)//P(1:rows, :)P.middleRows<rows>(i)//P(i+1:i+rows, :)P.middleRows(i, rows)//P(...
sm1.innerVector(outer);// RWsm1.innerVectors(start, size);// RWsm1.leftCols(size);// RWsm2.rightCols(size);// RO because sm2 is row-majorsm1.middleRows(start, numRows);// RO because sm1 is column-majorsm1.middleCols(start, numCols);// RWsm1.col(j);// RW ...