Eigen::PlainObjectBase
template<typename Derived>
class Eigen::PlainObjectBase< Derived >
Базовый класс для плотной матрицы и массивов.
Этот класс можно расширить с помощью механизма плагинов, описанного на странице Расширение MatrixBase (и других классов), определив препроцессорную метку EIGEN_PLAINOBJECTBASE_PLUGIN.
- См. также
- Иерархия классов
| const Scalar & | coeff (Index index) const |
| const Scalar & | coeff (Index rowId, Index colId) const |
| Scalar & | coeffRef (Index index) |
| const Scalar & | coeffRef (Index index) const |
| Scalar & | coeffRef (Index rowId, Index colId) |
| const Scalar & | coeffRef (Index rowId, Index colId) const |
| void | conservativeResize (Index rows, Index cols) |
| void | conservativeResize (Index rows, NoChange_t) |
| void | conservativeResize (Index size) |
| void | conservativeResize (NoChange_t, Index cols) |
| template<typename OtherDerived > | |
| void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
| Scalar * | data () |
| const Scalar * | data () const |
| template<typename OtherDerived > | |
| Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| Derived & | operator= (const EigenBase< OtherDerived > &other) |
| Копирует общее выражение other в *this. Подробнее... |
|
| Derived & | operator= (const PlainObjectBase &other) |
| void | resize (Index rows, Index cols) |
| void | resize (Index rows, NoChange_t) |
| void | resize (Index size) |
| void | resize (NoChange_t, Index cols) |
| template<typename OtherDerived > | |
| void | resizeLike (const EigenBase< OtherDerived > &_other) |
| шаблон<typename OtherDerived > | |
| PlainObjectBase (const DenseBase< OtherDerived > &other) | |
| шаблон<typename OtherDerived > | |
| PlainObjectBase (const EigenBase< OtherDerived > &other) | |
| PlainObjectBase (const PlainObjectBase &other) | |
| шаблон<typename OtherDerived > | |
| PlainObjectBase (const ReturnByValue< OtherDerived > &other) | |
| Конструктор копирования с вычислением на месте. |
|
| шаблон<typename... ArgTypes> | |
| PlainObjectBase (const Scalar &a0, const Scalar &a1, const Scalar &a2, const Scalar &a3, const ArgTypes &... args) | |
| Создаёт строку столбцового вектора фиксированного размера из произвольного числа коэффициентов. [c++11] Подробнее... |
|
| PlainObjectBase (const std::initializer_list< std::initializer_list< Scalar >> &list) | |
| Создаёт матрицу или массив и инициализирует его элементами, заданными списком инициализации списков инициализации [c++11] |
|
|
Это удобные функции, возвращающие объекты Map. Статические функции Map() возвращают невыровненные объекты Map, а функции AlignedMap() возвращают выровненные объекты Map и, следовательно, должны вызываться только с указателями на данные data, выровненными по 16 байтам. Вот пример использования шагов: Matrix4i A;
A << 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
13, 14, 15, 16;
std::cout << Matrix2i::Map(&A(1,1),Stride<8,2>()) << std::endl;
Вывод: 6 8 14 16
| |
| Производное & | setConstant (Index size, const Scalar &val) |
| Производное & | setConstant (Index rows, Index cols, const Scalar &val) |
| Производное & | setConstant (NoChange_t, Index cols, const Scalar &val) |
| Производное & | setConstant (Index rows, NoChange_t, const Scalar &val) |
| Производное & | setZero (Index size) |
| Производное & | setZero (Index rows, Index cols) |
| Производное & | setZero (NoChange_t, Index cols) |
| Производное & | setZero (Index rows, NoChange_t) |
| Производное & | setOnes (Index size) |
| Производное & | setOnes (Index rows, Index cols) |
| Производное & | setOnes (NoChange_t, Index cols) |
| Производное & | setOnes (Index rows, NoChange_t) |
| Производное & | setRandom (Index size) |
| Производное & | setRandom (Index rows, Index cols) |
| Производное & | setRandom (NoChange_t, Index cols) |
| Производное & | setRandom (Index rows, NoChange_t) |
| шаблон<typename OtherDerived > | |
| void | _resize_to_match (const EigenBase< OtherDerived > &other) |
| шаблон<typename OtherDerived > | |
| Производное & | _set (const DenseBase< OtherDerived > &other) |
Копирует значение выражения other в *this с автоматическим изменением размера. Подробнее... |
|
| шаблон<typename OtherDerived > | |
| Производное & | _set_noalias (const DenseBase< OtherDerived > &other) |
| шаблон<typename T0 , typename T1 > | |
| void | _init2 (Index rows, Index cols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0) |
| шаблон<typename T0 , typename T1 > | |
| void | _init2 (const T0 &val0, const T1 &val1, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0) |
| шаблон<typename T0 , typename T1 > | |
| void | _init2 (const Index &val0, const Index &val1, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< T0, Index >::value) &&(internal::is_same< T1, Index >::value) &&Base::SizeAtCompileTime==2, T1 >::type *=0) |
| шаблон<typename T > | |
| void | _init1 (Index size, typename internal::enable_if<(Base::SizeAtCompileTime!=1||!internal::is_convertible< T, Scalar >::value) &&((!internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value||Base::SizeAtCompileTime==Dynamic)), T >::type *=0) |
| шаблон<typename T > | |
| void | _init1 (const Scalar &val0, typename internal::enable_if< Base::SizeAtCompileTime==1 &&internal::is_convertible< T, Scalar >::value, T >::type *=0) |
| шаблон<typename T > | |
| void | _init1 (const Index &val0, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< Index, T >::value) &&Base::SizeAtCompileTime==1 &&internal::is_convertible< T, Scalar >::value, T * >::type *=0) |
| шаблон<typename T > | |
| void | _init1 (const Scalar *data) |
| шаблон<typename T , typename OtherDerived > | |
| void | _init1 (const DenseBase< OtherDerived > &other) |
| шаблон<typename T > | |
| void | _init1 (const Derived &other) |
| template<typename T , typename OtherDerived > | |
| void | _init1 (const EigenBase< OtherDerived > &other) |
| template<typename T , typename OtherDerived > | |
| void | _init1 (const ReturnByValue< OtherDerived > &other) |
| template<typename T , typename OtherDerived , int ColsAtCompileTime> | |
| void | _init1 (const RotationBase< OtherDerived, ColsAtCompileTime > &r) |
| template<typename T > | |
| void | _init1 (const Scalar &val0, typename internal::enable_if< Base::SizeAtCompileTime!=Dynamic &&Base::SizeAtCompileTime!=1 &&internal::is_convertible< T, Scalar >::value &&internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value, T >::type *=0) |
| template<typename T > | |
| void | _init1 (const Index &val0, typename internal::enable_if<(!internal::is_same< Index, Scalar >::value) &&(internal::is_same< Index, T >::value) &&Base::SizeAtCompileTime!=Dynamic &&Base::SizeAtCompileTime!=1 &&internal::is_convertible< T, Scalar >::value &&internal::is_same< typename internal::traits< Derived >::XprKind, ArrayXpr >::value, T * >::type *=0) |
| static ConstMapType | Map (const Scalar *data) |
| static MapType | Map (Scalar *data) |
| static ConstMapType | Map (const Scalar *data, Index size) |
| static MapType | Map (Scalar *data, Index size) |
| static ConstMapType | Map (const Scalar *data, Index rows, Index cols) |
| static MapType | Map (Scalar *data, Index rows, Index cols) |
| static ConstAlignedMapType | MapAligned (const Scalar *data) |
| static AlignedMapType | MapAligned (Scalar *data) |
| static ConstAlignedMapType | MapAligned (const Scalar *data, Index size) |
| static AlignedMapType | MapAligned (Scalar *data, Index size) |
| static ConstAlignedMapType | MapAligned (const Scalar *data, Index rows, Index cols) |
| static AlignedMapType | MapAligned (Scalar *data, Index rows, Index cols) |
| template<int Outer, int Inner> | |
| static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
| template<int Outer, int Inner> | |
| static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
PlainObjectBase() [1/4]
| inlineprotected |
Конструктор копирования
PlainObjectBase() [2/4]
| inlineprotected |
Создаёт строку столбца вектора с фиксированным размером из произвольного количества коэффициентов. [c++11]
Это только для векторов (строчных или столбцовых векторов), т. е. матриц, у которых заранее известно, что они имеют либо одну строку, либо один столбец.
Этот конструктор предназначен для одномерного массива или векторов с более чем 4 коэффициентами. Существуют аналогичные конструкторы C++98 для массивов/векторов фиксированного размера, имеющих 1, 2, 3 или 4 коэффициента.
- Предупреждение
- Для построения столбцового (соответственно, строчного) вектора фиксированной длины количество значений, переданных в этот конструктор, должно совпадать с фиксированным количеством строк (соответственно, столбцов)
*this.
PlainObjectBase() [3/4]
| inlineprotected |
PlainObjectBase() [4/4]
| inlineprotected |
_init1() [1/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых векторов), т. е. матриц, у которых заранее известно, что они имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [2/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых векторов), т. е. матриц, у которых заранее известно, что они имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [3/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [4/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [5/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [6/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [7/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [8/11]
| inlineprotected |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), то есть матриц, у которых размер известен на этапе компиляции и имеет одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [9/11]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [10/11]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init1() [11/11]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init2() [1/3]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init2() [2/3]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_init2() [3/3]
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, размер которых известен во время компиляции и которые имеют либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_resize_to_match()
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые в момент компиляции известны как имеющие либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
_set()
| inlineprotected |
Копирует значение выражения other в *this с автоматическим изменением размера.
*this может быть изменен на размер other. Если *this была нулевая матрица (еще не инициализирована), она будет инициализирована.
Обратите внимание, что копирование строкового вектора в вектор (и наоборот) разрешено. Изменение размера, если таковое требуется, выполняется соответствующим образом, так что строковые векторы остаются строковыми векторами, а векторы - векторами.
- См. также
- operator=(const MatrixBase<OtherDerived>&), _set_noalias()
_set_noalias()
| inlineprotected |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые в момент компиляции известны как имеющие либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
coeff() [1/2]
| inline |
Это перегруженная версия DenseCoeffsBase<Derived,ReadOnlyAccessors>::coeff(Index) const, предоставленная для пропуска создания оценщика выражения, что экономит усилия при компиляции.
См. DenseCoeffsBase<Derived,ReadOnlyAccessors>::coeff(Index) const для получения подробной информации.
coeff() [2/2]
| inline |
Это перегруженная версия DenseCoeffsBase<Derived,ReadOnlyAccessors>::coeff(Index,Index) const, предоставленная для пропуска создания оценщика выражения, что экономит усилия при компиляции.
См. DenseCoeffsBase<Derived,ReadOnlyAccessors>::coeff(Index) const для получения подробной информации.
coeffRef() [1/4]
| inline |
Это перегруженная версия DenseCoeffsBase<Derived,WriteAccessors>::coeffRef(Index) const, предоставленная для пропуска создания оценщика выражения, что экономит усилия при компиляции.
См. DenseCoeffsBase<Derived,WriteAccessors>::coeffRef(Index) const для получения подробной информации.
coeffRef() [2/4]
| inline |
Это константная версия coeffRef(Index), которая является синонимом coeff(Index). Предоставляется для удобства.
coeffRef() [3/4]
| inline |
Это перегруженная версия DenseCoeffsBase<Derived,WriteAccessors>::coeffRef(Index,Index) const, предоставленная для пропуска создания оценщика выражения, что экономит усилия при компиляции.
См. DenseCoeffsBase<Derived,WriteAccessors>::coeffRef(Index,Index) const для получения подробной информации.
coeffRef() [4/4]
| inline |
Это константная версия coeffRef(Index,Index), которая является синонимом coeff(Index,Index). Предоставляется для удобства.
conservativeResize() [1/4]
| inline |
Изменяет размер матрицы на rows x cols, сохраняя старые значения.
Метод предназначен для матриц динамического размера. Если вы хотите только изменить количество строк и/или столбцов, вы можете использовать conservativeResize(NoChange_t, Index) или conservativeResize(Index, NoChange_t).
Матрицы изменяют размер относительно верхнего левого элемента. В случае, если значения необходимо добавить в матрицу, они будут неинициализированы.
conservativeResize() [2/4]
| inline |
Изменяет размер матрицы на rows x cols, при этом старые значения остаются неизменными.
В отличие от conservativeResize(Index rows, Index cols), этот вариант оставляет количество столбцов неизменным.
В случае увеличения матрицы новые строки будут неинициализированы.
conservativeResize() [3/4]
| inline |
Изменяет размер вектора на size, сохраняя старые значения.
Это только для векторов (строковых или столбцовых), т.е. матриц, размер которых известен на этапе компиляции и которые имеют одну строку или один столбец. Этот метод не работает для частично динамических матриц, когда статическая размерность отличается от 1. Например, он не будет работать с Matrix<double, 2, Dynamic>.
При добавлении значений они будут неинициализированы.
conservativeResize() [4/4]
| inline |
Изменяет размер матрицы на rows x cols, при этом старые значения остаются неизменными.
В отличие от conservativeResize(Index rows, Index cols), этот вариант оставляет количество строк неизменным.
В случае увеличения матрицы новые столбцы будут неинициализированы.
conservativeResizeLike()
| inline |
Изменяет размер матрицы на rows x cols other, при этом старые значения остаются неизменными.
Метод предназначен для матриц с динамическим размером. Если нужно изменить только количество строк и/или столбцов, можно использовать conservativeResize(NoChange_t, Index) или conservativeResize(Index, NoChange_t).
Матрицы изменяют размер относительно верхнего левого элемента. В случае необходимости добавления значений в матрицу, они будут скопированы из other.
data() [1/2]
| inline |
- Возвращает
- указатель на массив данных этой матрицы
data() [2/2]
| inline |
- Возвращает
- постоянный указатель на массив данных этой матрицы
lazyAssign()
| inline |
- См. также
- MatrixBase::lazyAssign()
Map() [1/12]
| inlinestatic |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении заданному значению val.
Это только для векторов (строковых или столбцовых), т.е. матриц, размер которых известен на этапе компиляции и которые имеют одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [2/12]
| inlinestatic |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении заданному значению val.
Это только для векторов (строковых или столбцовых), т.е. матриц, размер которых известен на этапе компиляции и которые имеют одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [3/12]
| inlinestatic |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении заданному значению val.
Это только для векторов (строковых или столбцовых), т.е. матриц, размер которых известен на этапе компиляции и которые имеют одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [4/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [5/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [6/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [7/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [8/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [9/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это только для векторов (строки или столбцы), т. е. матриц, которые известны на этапе компиляции как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [10/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [11/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
Map() [12/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [1/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [2/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [3/12]
| inlineстатический |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это предназначено только для векторов (строчных или столбцовых), то есть для матриц, у которых количество строк или столбцов известно на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [4/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [5/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [6/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [7/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [8/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [9/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение значение.
Это только для векторов (строковых или столбцовых векторов), т.е. матриц, которые известны на этапе компиляции, чтобы иметь одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [10/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это применимо только для векторов (строчных или столбцовых), т.е. матриц, у которых размерность строки или столбца известна на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [11/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это применимо только для векторов (строчных или столбцовых), т.е. матриц, у которых размерность строки или столбца известна на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
MapAligned() [12/12]
| inlinestatic |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении на заданное значение val.
Это применимо только для векторов (строчных или столбцовых), т.е. матриц, у которых размерность строки или столбца известна на этапе компиляции.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
operator=() [1/2]
| inline |
Копирует общее выражение другой в *this.
Выражение должно предоставлять функцию (с шаблоном) evalTo(Derived& dst) const, которая выполняет фактическую работу. Практически это позволяет любому пользователю создавать собственные специализированные матрицы без необходимости модифицировать MatrixBase
- Возвращает
- ссылку на *this.
operator=() [2/2]
| inline |
Это специальный случай оператора =. Его цель — предотвратить скрытие шаблонного оператора = стандартным оператором =.
resize() [1/4]
| inline |
Изменяет размер *this до матрицы строки × столбцы.
Этот метод предназначен для матриц с динамическим размером, хотя его можно вызвать для любой матрицы, если при этом фиксированные размеры остаются неизменными. Если вы хотите изменить только количество строк и/или столбцов, вы можете использовать resize(NoChange_t, Индекс), resize(Индекс, NoChange_t).
Если текущее количество коэффициентов *this точно соответствует произведению строки * столбцы, то выделение памяти не происходит, и текущие значения остаются неизменными. Во всех остальных случаях, включая уменьшение размера, данные перевыделяются, и все предыдущие значения теряются.
Пример:
MatrixXd m(2,3); m << 1,2,3,4,5,6; cout << "here's the 2x3 matrix m:" << endl << m << endl; cout << "let's resize m to 3x2. This is a conservative resizing because 2*3==3*2." << endl; m.resize(3,2); cout << "here's the 3x2 matrix m:" << endl << m << endl; cout << "now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:" << endl; m.resize(2,2); cout << m << endl;
Вывод:
here's the 2x3 matrix m: 1 2 3 4 5 6 let's resize m to 3x2. This is a conservative resizing because 2*3==3*2. here's the 3x2 matrix m: 1 5 4 3 2 6 now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized: 0 0 0 0
- См. также
- resize(Индекс) для векторов, resize(NoChange_t, Индекс), resize(Индекс, NoChange_t)
resize() [2/4]
| inline |
Изменяет размер матрицы, изменяя только количество строк. Для параметра типа NoChange_t просто передайте специальное значение NoChange , как в примере ниже.
Пример:
MatrixXd m(3,4); m.resize(5, NoChange); cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl;
Вывод:
m: 5 rows, 4 cols
- См. также
- resize(Индекс,Индекс)
resize() [3/4]
| inline |
Изменяет размер *this на вектор длины размер
Это применимо только для векторов (строчных или столбцовых), т.е. матриц, у которых размерность строки или столбца известна на этапе компиляции. Этот метод не работает для частично динамических матриц, когда статическая размерность отличается от 1. Например, он не будет работать с Matrix<double, 2, Dynamic>.
Пример:
VectorXd v(10); v.resize(3); RowVector3d w; w.resize(3); // this is legal, but has no effect cout << "v: " << v.rows() << " rows, " << v.cols() << " cols" << endl; cout << "w: " << w.rows() << " rows, " << w.cols() << " cols" << endl;
Вывод:
v: 3 rows, 1 cols w: 1 rows, 3 cols
resize() [4/4]
| inline |
Изменяет размер матрицы, изменяя только количество столбцов. Для параметра типа NoChange_t просто передайте специальное значение NoChange, как показано в примере ниже.
Пример:
MatrixXd m(3,4); m.resize(NoChange, 5); cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl;
Вывод:
m: 3 rows, 5 cols
- См. также
- resize(Index,Index)
resizeLike()
| inline |
Изменяет размер *this так, чтобы он соответствовал размерам other. Учитывает все необходимые проверки.
Обратите внимание, что копирование строчной матрицы в вектор (и наоборот) разрешено. Изменение размера, если необходимо, выполняется соответствующим образом, так что строчные матрицы остаются строчными, а векторы — векторами.
setConstant() [1/4]
| inline |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в заданное значение val.
- Параметры
-
rows новое количество строк cols новое количество столбцов val значение, в которое устанавливаются все коэффициенты
Пример:
MatrixXf m; m.setConstant(3, 3, 5); cout << m << endl;
Вывод:
5 5 5 5 5 5 5 5 5
setConstant() [2/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество строк, и устанавливает все коэффициенты в этом выражении в заданное значение val. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
setConstant() [3/4]
| inline |
Изменяет размер до заданного size и устанавливает все коэффициенты в этом выражении в заданное значение val.
Это только для векторов (строчных или столбцовых), т.е. матриц, которые в момент компиляции известны как имеющие одну строку или один столбец.
Пример:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Вывод:
5 5 5
setConstant() [4/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество столбцов, и устанавливает все коэффициенты в этом выражении в заданное значение val. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
setOnes() [1/4]
| inline |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в единицу.
- Параметры
-
rows новое количество строк cols новое количество столбцов
Пример:
MatrixXf m; m.setOnes(3, 3); cout << m << endl;
Вывод:
1 1 1 1 1 1 1 1 1
- См. также
- MatrixBase::setOnes(), setOnes(Index), класс CwiseNullaryOp, MatrixBase::Ones()
setOnes() [2/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество строк, и устанавливает все коэффициенты в этом выражении в единицу. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
setOnes() [3/4]
| inline |
Изменяет размер на заданный newSize и устанавливает все коэффициенты в этом выражении в единицу.
Это только для векторов (строковых или столбцовых), т.е. матриц, которые в момент компиляции известны как имеющие либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setOnes(3); cout << v << endl;
Вывод:
1 1 1
- См. также
- MatrixBase::setOnes(), setOnes(Index,Index), класс CwiseNullaryOp, MatrixBase::Ones()
setOnes() [4/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество столбцов, и устанавливает все коэффициенты в этом выражении в единицу. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
setRandom() [1/4]
| inline |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении случайными значениями.
Числа равномерно распределяются по всему диапазону определения для целочисленных типов и в диапазоне [-1:1] для чисел с плавающей точкой.
- Предупреждение
- Эта функция не является потокобезопасной.
- Параметры
-
rows новое количество строк cols новое количество столбцов
Пример:
MatrixXf m; m.setRandom(3, 3); cout << m << endl;
Вывод:
0.68 0.597 -0.33 -0.211 0.823 0.536 0.566 -0.605 -0.444
- См. также
- DenseBase::setRandom(), setRandom(Index), класс CwiseNullaryOp, DenseBase::Random()
setRandom() [2/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество строк, и устанавливает все коэффициенты в этом выражении случайными значениями. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
Числа равномерно распределяются по всему диапазону определения для целочисленных типов и в диапазоне [-1:1] для чисел с плавающей точкой.
- Предупреждение
- Эта функция не является потокобезопасной.
setRandom() [3/4]
| inline |
Изменяет размер на заданный newSize и устанавливает все коэффициенты в этом выражении случайными значениями.
Числа равномерно распределяются по всему диапазону определения для целочисленных типов и в диапазоне [-1:1] для чисел с плавающей точкой.
Это только для векторов (строковых или столбцовых), т.е. матриц, которые в момент компиляции известны как имеющие либо одну строку, либо один столбец.
- Предупреждение
- Эта функция не является потокобезопасной.
Пример:
VectorXf v; v.setRandom(3); cout << v << endl;
Вывод:
0.68 -0.211 0.566
- См. также
- DenseBase::setRandom(), setRandom(Index,Index), класс CwiseNullaryOp, DenseBase::Random()
setRandom() [4/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество столбцов, и устанавливает все коэффициенты в этом выражении случайными значениями. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
Числа равномерно распределяются по всему диапазону определения для целочисленных типов и в диапазоне [-1:1] для чисел с плавающей точкой.
- Предупреждение
- Эта функция не является потокобезопасной.
setZero() [1/4]
| inline |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в ноль.
- Параметры
-
rows новое количество строк cols новое количество столбцов
Пример:
MatrixXf m; m.setZero(3, 3); cout << m << endl;
Вывод:
0 0 0 0 0 0 0 0 0
- См. также
- DenseBase::setZero(), setZero(Index), класс CwiseNullaryOp, DenseBase::Zero()
setZero() [2/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество строк, и устанавливает все коэффициенты в этом выражении в ноль. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
setZero() [3/4]
| inline |
Изменяет размер до заданного размера и устанавливает все коэффициенты в этом выражении в ноль.
Это только для векторов (строковых или столбцовых векторов), т. е. матриц, чья размерность известна на этапе компиляции, и имеет либо одну строку, либо один столбец.
Пример:
VectorXf v; v.setZero(3); cout << v << endl;
Вывод:
0 0 0
- См. также
- DenseBase::setZero(), setZero(Index,Index), класс CwiseNullaryOp, DenseBase::Zero()
setZero() [4/4]
| inline |
Изменяет размер до заданного размера, изменяя только количество столбцов, и устанавливает все коэффициенты в этом выражении в ноль. Для параметра типа NoChange_t просто передайте специальное значение NoChange.
Документация для этого класса была сгенерирована из следующих файлов:
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1PlainObjectBase.html
