问题标签 [gsl]
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.
c - 使用 Cygwin 安装 rb-gsl gem
我在使用 Cygwin 在 Windows 下安装 rb-gsl 时遇到问题。我正在使用安装了开发工具包的 RubyInstaller for Windows。我已经安装了 Cygwin 和 GSL 运行时、gsl-apps、gsl-devel 和 gsl-doc 包。发出 gem install 命令时,我得到以下信息:
我已经检查过了,我可以在 /usr/include/gsl 找到 gsl_errno.h
c - 使用 Gnu Scientific Library 进行多维最小化
所以我对 GSL 中的多维最小化程序有疑问(我尝试使用的是gsl_multimin_fdfminimizer_vector_bfgs2
,但其他程序产生了同样的问题)。我已经定义了我的目标函数及其梯度,我可以开始迭代,但算法始终保持在同一点。
现在,我认为我的函数或梯度在某处会出现数学错误。但是,对于一组特定的数据,我知道最佳值,并且插入这些值会产生一个处处为 0 的梯度。
如果我以最优值开始迭代,算法会正确停止并报告成功,但如果我只对起始向量进行最低限度的干扰,则迭代将永远运行并且永远不会找到最优值。
我还在 R 中重新实现了函数和梯度。我检查了 C 版本和 R 版本是否为相同的输入产生相同的输出,它们确实如此。使用 R 中的 BFGS 算法,只需几次迭代即可找到最优值。
我用初始化算法
迭代看起来像这样:
我可以调整的唯一参数是初始步长和gsl_multimin_fdfminimizer_set (gsl_multimin_fdfminimizer * s, gsl_multimin_function_fdf * fdf, const gsl_vector * x, double step_size, double tol)
. 在那里尝试不同的值会产生很小的影响(有时算法会移动一点),但我找不到任何实际使算法移动的值。
感谢您的任何建议!
error-handling - GSL:错误报告
我想使用 GSL 进行集成 http://www.gnu.org/software/gsl/manual/html_node/Numerical-Integration.html 但是,我找不到方便的方法如何集成功能
(示例http://www.gnu.org/software/gsl/manual/html_node/Numerical-integration-examples.html中的函数 f )
可以向集成商报告错误。我想集成一个功能,该功能本身是由可能失败的集成产生的。这是我的示例程序
导致输出状态 = 0 状态 = -1
我认为集成商应该停止并返回我的错误代码。我怎样才能做到这一点?
非常感谢您的帮助!!!
2011-04-27:在 Brian Gough 告诉我之后,我也尝试了这个变体,
它也没有帮助。我现在将填写一份错误报告。
ruby - GSL 和相关性
我正在使用 GSL 库 1.14 和 ruby 包装器 ( gsl ) 进行一些数学计算。我需要的一件事是 Pearson 相关性。但是当我的数组中的 0 时出现问题。
例如,我有这段代码:
但是当我尝试使用以下数组值计算它时,我得到一个 NaN:
当我尝试使用这个值时,它可以工作:
有人知道为什么吗?这很奇怪,不是吗?
c++ - 在 Mac 10.6.3 上使用 gsl
我最近有一个使用 GSL 的项目。在我在 Mac 10.6.3 上安装 GSL 包之后。我无法编译我的代码。
gsl 库位于 /usr/local/lib,头文件位于 /usr/local/。
当我编译我的代码时,我收到以下错误。如果我没有在makefile中指定“-m32”,它仍然会给出同样的错误,只需将“i386”更改为“x86_64”。谁能帮我?
谢谢!
顺便说一句,我应该像上面那样包含 gsl 吗?实际上我对编程很陌生。
构建代码:
scientific-computing - GSL gsl_blas_sgemm 矩阵乘法对于 n>140 非常不准确
只是为了使用 gsl_blas_sgemm 函数单独测试一个乘以 150x150 的所有矩阵。我得到的错误多达 38 个。为什么它这么不准确?
c - 在 C 中通过 void 类型为 GSL 传递双精度数组
我正在尝试使用 GSL 库来解决 ODE,但我在使用 void 指针时遇到了一些困难
我需要在应该包含数组的数组上发送一个参数:
被发送到
这被传递给func和jac作为*params
在func中,我试图通过以下方式提取k1:
或者
或者...
ETC
我想问题是:有没有一条线的解决方案?
c - 使用 Gnu 科学库进行曲线拟合的示例代码无法运行。
我正在尝试使用 GSL 进行最小二乘拟合,但我什至无法使示例正常运行。它可以编译,但是在运行程序时会出现错误
dyld: lazy symbol binding failed: Symbol not found: _cblas_dnrm2
Referenced from: /usr/local/lib/libgsl.0.dylib
Expected in: dynamic lookup
我相信我已经将问题缩小到了这一行
gsl_multifit_fdfsolver_set (s, &f, &x.vector);
但我一点也不知道为什么。
我在 OSX 上使用 GSL 1.15 运行它(尽管我最初安装了错误的版本,1.9)。我使用以下命令在终端中编译它:gcc unchanged_example.c -o examplefitter -lgsl -lm
编辑:在这里找到了解决方案。编译时添加' -lgslcblas
'整理出来
signal-processing - 脑电小波分析
我想对 EEG 信号进行时频分析。我找到了用于计算小波系数的 GSL 小波函数。如何从该系数中提取实际频带(例如 8 - 12 Hz)?GSL 手册说:
对于前向变换,原始数组的元素被
f_i -> w_{j,k}
压缩三角形存储布局中的离散小波变换替换,其中J
是级别的索引j = 0 ... J-1
,K
是每个级别内的系数的索引,k = 0 ... (2^j)-1
。总层数为J = \log_2(n)
。输出数据具有以下形式,
(s_{-1,0}, d_{0,0}, d_{1,0}, d_{1,1}, d_{2,0}, ..., d_{j,k}, ..., d_{J-1,2^{J-1}-1})
如果我理解正确的输出数组data[]
在位置1
(例如data[1]
)包含频带 2^0 = 1 Hz 的幅度,并且
等等 ...
这意味着我只有频率 1 Hz、2 Hz、4 Hz、8 Hz、16 Hz 的幅度……我怎样才能获得例如以 5.3 Hz 振荡的频率分量的幅度?如何获得整个频率范围的幅度,例如 8 - 13 Hz 的幅度?有什么建议如何获得良好的时频分布?
ruby - Windows - MINGW 为 Ruby-GSL 构建 GSL
嗨,我在 Windows 7 上并想安装 GSL http://www.gnu.org/software/gsl/以便我可以将它与 Ruby GSL http://rb-gsl.rubyforge.org/一起使用。
我安装了 MINGW 和 MSYS。我在这里找到了 1.13 版 GSL 的二进制安装程序http://ascend4.org/Binary_installer_for_GSL-1.13_on_MinGW但由于最新版本是 1.15 于 2011 年 5 月 6 日发布,我认为构建它来安装它会很好,但我没有不怎么样。
谁能告诉我如何构建它以便安装Windows?