问题标签 [alglib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4133 浏览

random - 使用 C# 实现随机决策森林

您好我正在尝试使用 ALGLIB 来计算 rdf。不幸的是,我的每个训练样本都有两个以上的变量。我应该使用下面的函数,但我的训练数据有 7 个变量。我认为 ALGLIB 的实现仅针对 2 个变量。我怎样才能将它用于 7 个可变训练样本?

提前致谢。如果有另一个库适合我的训练集并且实现了我可以使用的随机决策森林,我不会坚持使用 ALGLIB。

0 投票
1 回答
1557 浏览

c++ - 使用 alglib 无需每次都编译

我正在使用 c++ AlgLib 库中的一些方法。在我使用过的其他库中,有一些安装说明,之后我可以包含 .h 文件并使用 -l 进行编译(例如,使用 GMP 库并使用 -lgmp 进行编译)。然而,有了 alglib,我唯一能够运行的就是使用 makefile 并编译所有需要的 .cpp 文件——每次我编译我的程序时。以下是生成文件的示例:

由于每次编译所有这些文件都比较耗时,有没有办法避免呢?

0 投票
0 回答
844 浏览

c++ - C ++中边界约束最小二乘优化的函数?

我对使用 Visual C++ 2010 Express 相当陌生,但我对基础知识并不陌生,我正在尝试弄清楚如何使用外部库来执行边界约束最小二乘优化。

简单地说,我想使用线性最小二乘法从以下位置找到矩阵 W:

在哪里

约束在 W 的元素的值上——我们称元素为“w”。

在 MATLAB 中执行此操作相当简单,但我需要在 C++ 中实现。我已经为矩阵 X 和 T 的公式实现了我的代码的初始部分。

我可以在 Visual C++ 2010 Express 中使用任何库/函数来完成边界约束最小二乘优化吗?我尝试过使用 ALGLIB、LEVMAR 和 NLOPT。

ALGLIB 需要以自己的数据类型定义数组。

LEVMAR 关于安装和我需要使用什么功能的信息很少。

NLOPT 似乎没有这个功能。此外,即使我使用此处给出的说明生成了一个 lib 文件并在 VC++ 中链接了 lib 和源文件,我似乎也无法让它工作。

任何人都可以帮我提出任何建议吗?这在 MATLAB 中很容易实现,但恐怕我需要使用 C++。

0 投票
1 回答
558 浏览

math - 加权线性最小二乘线性拟合。如何强制通过在线的第一个点?

我正在使用 alglib 使用最小二乘线性拟合方程计算斜率和截距值,如下所示: -

“fmatrix”包含我的 x 轴值(每对中的第二个值:- 0、0.05、0.1、0.2);“y”显然包含我的 y 轴值;“w”是权重 - 在本例中全为 1,因此在此示例中未应用权重。

现在,我需要应用几个不同的“强制”。我设法通过将每个 fmatrix 对的第一个值从“1”更改为“0”来找到如何“强制通过原点”,即:

但是我还需要强制通过第一点(x=0,y=32046)。任何想法如何实现这一目标?数学不是我的强项,我也不太了解函数的文档: http ://www.alglib.net/translator/man/manual.csharp.html#sub_lsfitlinearw

0 投票
1 回答
969 浏览

interpolation - 具有分散数据的二维双三次样条

是否有任何库 (DLL) 或 c# 代码允许插入 2D 分散数据?Algib 相当不错,但适用于常规网格

0 投票
1 回答
887 浏览

c++ - Alglib:以最小二乘的方式求解 A * x = b

我有一个有点复杂的算法,需要将二次曲线拟合到一组点。该二次曲线由其参数化给出(u, v, f(u,v)),其中f(u,v) = au^2+bv^2+cuv+du+ev+ff(u,v)需要找到函数的系数,因为我有一组正好 6 个约束,这个函数应该遵守。问题是这组约束虽然产生了类似的问题,但A*x = b并不能完全保证唯一的解决方案。

因此,简而言之,我想使用 alglib 的工具来以某种方式确定A' 的伪逆或直接找到最适合x向量的方法。

除了计算 SVD 之外,在这个库中是否有更直接的算法可以解决最小二乘意义上的系统(同样,除了 SVD 或使用朴素公inv(transpose(A)*A)*transpose(A)*b式解决 A 不是平方的一般最小二乘问题矩阵?

0 投票
2 回答
445 浏览

c# - 列表为 ALGLIB 加倍 [,]

我是 C# 的新手,我想用它来编写一个用于校准 AFM 悬臂的软件。因此,我需要为一些非线性数据的第一个峰值拟合一个非常丑陋的函数。我认为 ALGLIB 包可能会为此目的派上用场,这似乎相对容易应用。在他们用于 X 轴数据的主页示例中:

我在一个列表中有我的 X 值并且想使用它们。如何将它们从列表中取出并放入双 [,]?我的最后一种方法是这样的

似乎它必须在一个 double[,] 数组中,因为它是稍后的函数所必需的

有人可以帮我吗?或者有人可以推荐一种更简单的非线性拟合方法吗?

非常感谢提前

0 投票
1 回答
1447 浏览

c++ - 使用 Alglib 的向量和矩阵基本运算(加法、乘法)

尽管 Alglib 是一个功能丰富的库,但似乎缺乏对最常见的基本运算符的支持(涉及矩阵/向量代数)。

用户是否应该重载他们自己需要的任何运算符,或者是否有一种更性能友好/可取的方式来使用现有的 Alglib 接口实现乘法、加法、减法、除法(按标量)等?

作为一个相关问题,我发现提议和接受的解决方案非常不令人满意。通常,当他们已经有了一个好的库时,他们不会简单地切换到另一个库。我只是发现需要更频繁地执行这些操作并切换到另一个更麻烦的替代方案并不是最好的事情(MTL4 使用 boost,这是一个相当大的负担)。使用表达式模板的想法虽然看起来不错,但我不知道是否值得在 Alglib 上实现这种技术(也就是说,如果 Alglib 有更好的方法来处理简单的代数)。

0 投票
1 回答
613 浏览

c++ - Alglib 与 Cuda

我对 alglib 和 Cuda 很陌生。我正在尝试使用 Alglib 进行非线性列表平方拟合。当我在 VC++ (.cpp) 中编译它时,代码正在工作,但是当我试图编译相同的代码但在 cuda 文件 (.cu) 中时,它给了我这个错误:

命令 ""D:\NVIDIA\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2012 -ccbin "D:\程序 (x86)\Microsoft Visual Studio 11.0\VC\bin" -ID:\NVIDIA\include -ID:\NVIDIA\include --keep-dir Release -maxrregcount=0 --machine 32 --compile -cudart static -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MD " -o Release\min.cu.obj "...\min.cu"" 以代码 2 退出。C:\Program Files (x86)\MSBuild \Microsoft.Cpp\v4.0\V110\BuildCustomizations\CUDA 6.0.targets 597 9 Cuda_lsfit

这是我的代码:

任何解决方案将不胜感激。

谢谢,莫森

0 投票
0 回答
208 浏览

c# - ALGLIB Spline1dConvcubic 出现严重错误

我有以下代码在 C# 中使用 ALGLIB 进行样条插值:

我已经检查了输入值,以防它们被错误地读取,并且它们是正确的。唯一出错的是alglib.spline1dconvcubic(..)的行。我不知道计算是否不起作用,或者我只是以小数点出于某种原因在非常不同的地方的方式编写它。

变量anzNeueWerte(德语)确定数据集的新 x 值数量。变量xNeuyNeu是包含新 x 和 y 值的双精度数组。

最后一行CreateGraph()只是调用了绘制 ZedGraph 图表的方法,它应该可以正常工作,所以问题既不在这一行,也不在于它调用的方法。

上周我已经让它工作了,我几乎可以肯定从那以后我没有改变任何东西。

任何帮助表示赞赏。

提前致谢。

编辑: y 值应在 0-8000 的范围内,但从略高于零到大约 -320.000.000.000.000

PS:不要将此问题标记为离题、重复或其他任何问题。我能找到的关于这个库的所有问题都没有对我的问题有用