我对使用 Visual C++ 2010 Express 相当陌生,但我对基础知识并不陌生,我正在尝试弄清楚如何使用外部库来执行边界约束最小二乘优化。
简单地说,我想使用线性最小二乘法从以下位置找到矩阵 W:
X * W = T
在哪里
X is a matrix with 50 columns and 3 rows (50 x 3),
W is a column matrix with 50 elements (1 x 50) and
T is a column matrix with 3 element (1 x 50)
约束在 W 的元素的值上——我们称元素为“w”。
0 <= w <= 1
在 MATLAB 中执行此操作相当简单,但我需要在 C++ 中实现。我已经为矩阵 X 和 T 的公式实现了我的代码的初始部分。
我可以在 Visual C++ 2010 Express 中使用任何库/函数来完成边界约束最小二乘优化吗?我尝试过使用 ALGLIB、LEVMAR 和 NLOPT。
ALGLIB 需要以自己的数据类型定义数组。
LEVMAR 关于安装和我需要使用什么功能的信息很少。
NLOPT 似乎没有这个功能。此外,即使我使用此处给出的说明生成了一个 lib 文件并在 VC++ 中链接了 lib 和源文件,我似乎也无法让它工作。
任何人都可以帮我提出任何建议吗?这在 MATLAB 中很容易实现,但恐怕我需要使用 C++。