0

我正在使用卡尔曼滤波器进行一些数值估计和校正,并希望更好地估计我的 Q 和 R 参数,最好是动态的。 http://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_the_noise_covariances_Qk_and_Rk

那篇文章提到GNU Octave是目前从数据中确定这些参数的最佳方式: http ://en.wikipedia.org/wiki/GNU_Octave#C.2B.2B_integration 不幸的是,它是为 Matlab 编写的,据说有一个 C++ 实现. 我在 C++ 方面非常薄弱,甚至不知道如何导入 C++ 库并在 XCode 中正确链接它。迄今为止,我所有的 C++ 库都包含在第 3 方 Objective-C 类中。

有没有人在 iPhone 上将 C++ 实现用于科学计算或工程应用程序?我将不胜感激有关如何使用 Objective-C 进行此类分析的任何指针或教程。

附加关键字:从数据中估计协方差

自协方差最小二乘 (ALS) 技术

噪声协方差

谢谢!

4

1 回答 1

2

我不知道任何这样的 C++ 库,如果你想在 iOS 上进行数值分析,最好的方法是加速框架,具体来说(来自这个描述):

线性代数:LAPACK 和 BLAS

基本线性代数子程序 (BLAS) 和线性代数包 (LAPACK) 库包含执行线性代数计算的函数,例如求解联立线性方程、线性方程的最小二乘解和特征值问题。BLAS 库用作 LAPACK 库的构建块。BLAS 和 LAPACK 库是广泛分布的行业标准计算库。它们可在许多不同的平台和架构上使用。因此,如果您已经在使用这些库,您应该会感到宾至如归,因为这些 API 在 Mac OS X 上完全相同。

你需要在 C、指针、数组等方面有相当好的基础,但我觉得没有办法。有关于如何使用这些线性代数原语来实现卡尔曼滤波的详细描述(虽然这是使用 R,所以可能对你没有用处)。

这是关于卡尔曼滤波的 SO 帖子,很好地表达了我的观点。恐怕我认为为卡尔曼滤波找到一个神奇的 Objective-C 包装器的机会相当低,尽管我很高兴被证明是错误的!

于 2011-11-11T21:05:48.240 回答