简体   繁体   English

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

[英]iOS5 Objective-C library for numerical analysis or GNU Octave wrapper class?

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. 我正在用卡尔曼滤波器做一些数值估计和校正 ,并希望更好地估计我的Q和R的参数,最好是动态的。 http://en.wikipedia.org/wiki/Kalman_filter#Estimation_of_the_noise_covariances_Qk_and_Rk 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. 那篇文章提到GNU Octave目前是从数据中确定这些参数的最佳方法: http//en.wikipedia.org/wiki/GNU_Octave#C.2B.2B_integration不幸的是它是为Matlab编写的,据说有一个C ++实现。 I'm very weak in C++ and would not even know how to import a C++ library and link it properly in XCode. 我在C ++方面很弱,甚至不知道如何导入C ++库并在XCode中正确链接它。 All of my C++ libraries to date have been wrapped in 3rd party Objective-C classes. 到目前为止,我所有的C ++库都包含在第三方Objective-C类中。

Has anyone used the C++ implementation for scientific computing or engineering applications on iPhone? 有没有人在iPhone上使用C ++实现进行科学计算或工程应用? I'd appreciate any pointers or tutorials on how to do this kind of analysis with Objective-C. 我很欣赏有关如何使用Objective-C进行此类分析的任何指针或教程。

Additional keywords: estimating covariance from data 其他关键字:根据数据估算协方差

Autocovariance Least-Squares (ALS) technique 自协方差最小二乘(ALS)技术

noise covariance 噪声协方差

Thank you! 谢谢!

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

Linear Algebra: LAPACK and BLAS 线性代数:LAPACK和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. 基本线性代数子程序(BLAS)和线性代数包(LAPACK)库包含 - 正如您所期望的 - 执行线性代数计算的函数,例如求解联立线性方程,线性方程的最小二乘解和特征值问题。 The BLAS library serves as a building block for the LAPACK library. BLAS库充当LAPACK库的构建块。 The BLAS and LAPACK libraries are widely distributed and industry standard computational libraries. BLAS和LAPACK库是广泛分布的和行业标准的计算库。 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. 因此,如果您已经在使用这些库,那么您应该感到宾至如归,因为在Mac OS X上API完全相同。

You'll need a fairly good grounding in C, pointers, arrays and such though, no way around it I feel. 你需要一个相当好的基础C,指针,数组等,但我觉得没办法。 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). 有关如何使用这些线性代数原语来实现卡尔曼滤波的详细描述 (虽然这是使用R,所以可能不会对你使用)。

This is a SO post on Kalman Filtering which expressed my opinion quite well. 这是关于卡尔曼过滤SO帖子,它很好地表达了我的观点。 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! 我担心我认为为卡尔曼滤波找到一个神奇的Objective-C包装器的可能性相当低,但我很高兴被证明是错误的!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM