用于数值分析的 iOS5 Objective-C 库或 GNU Octave 包装类?

发布于 2024-12-14 18:59:46 字数 799 浏览 5 评论 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) 技术

噪声协方差

谢谢!

I'm doing some numerical estimation and correction with the Kalman filter, and would like to better estimate my parameters of Q and R, preferably dynamically.
http://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_the_noise_covariances_Qk_and_Rk

That article mentions that GNU Octave is currently the best way of determining these parameters from data:
http://en.wikipedia.org/wiki/GNU_Octave#C.2B.2B_integration
Unfortunately it is written for Matlab, and there's supposedly a C++ implementation. I'm very weak in C++ and would not even know how to import a C++ library and link it properly in XCode. All of my C++ libraries to date have been wrapped in 3rd party Objective-C classes.

Has anyone used the C++ implementation for scientific computing or engineering applications on iPhone? I'd appreciate any pointers or tutorials on how to do this kind of analysis with Objective-C.

Additional keywords:
estimating covariance from data

Autocovariance Least-Squares (ALS) technique

noise covariance

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神经暖 2024-12-21 18:59:46

我不知道有任何这样的 C++ 库,如果您喜欢在 iOS 上进行数值分析,最好的方法是 加速框架(来自此 描述):

线性代数:LAPACK 和 BLAS

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

你需要有相当好的 C、指针、数组等基础知识,但我觉得没有办法绕过它。有一个关于如何使用这些线性代数的详细说明实现卡尔曼滤波的原语(尽管这是使用 R,所以可能对你没有多大用处)。

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

I do not know of any such C++ library, if you fancy doing numerical analysis on iOS, the best way to go is the accelerate framework, specifically (from this description):

Linear Algebra: LAPACK and BLAS

The Basic Linear Algebra Subprograms (BLAS) and Linear Algebra Package
(LAPACK) libraries contain—as you would expect—functions to perform
linear algebra computations such as solving simultaneous linear
equations, least squares solutions of linear equations, and eigenvalue
problems. The BLAS library serves as a building block for the LAPACK
library. The BLAS and LAPACK libraries are widely distributed and
industry standard computational libraries. They are available on a
number of different platforms and architectures. So, if you are
already using these libraries you should feel right at home, as the
APIs are exactly the same on Mac OS X.

You'll need a fairly good grounding in C, pointers, arrays and such though, no way around it I feel. There is a detailed description of how to use these linear algebra primitives to implement kalman filtering (although this is using R, so probably not of mush use to you).

This is a SO post on Kalman Filtering which expressed my opinion quite well. I'm afraid I think the chances of finding a magic Objective-C wrapper for Kalman Filtering are fairly low, though I would be very happy to be proven wrong!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文