升压矩阵动态尺寸扩展

Boost Matrix Dynamic Size Expansion

本文关键字:扩展 动态      更新时间:2023-10-16

我正在编写一个使用boost库进行矩阵操作的c++程序。我需要动态地扩展初始矩阵的大小

的例子:如果矩阵大小为:

   matrix<float> m(3,3);

,然后我的矩阵会展开,我需要一个4*4矩阵。我能想到的朴素方法是分配一个大小为4,4的新矩阵,并将3*3矩阵的所有元素复制到它。在boost中没有更好的方法来做这件事吗?

请考虑使用resize()函数:"当指定时,矩阵的现有元素将被保留(sic); "

下面是一个来自Boost的示例代码。

这是一种方法。

matrix<int> A;  // Matrix size would be zero by zero
A.resize(2, 3);  // Matrix size became 2 by 3

为什么不使用无参数构造函数创建一个矩阵并根据需要调用resize方法呢?

http://www.boost.org/doc/libs/1_47_0/libs/numeric/ublas/doc/matrix.htm