我有一段代码使用scipy
和import numpy as np
from scipy.integrate import quad
from scipy.optimize import minimize
minor = 2.23
major = 3.05
encoderdistance = 2.53141952655
print minimize(lambda x: abs(quad(func, 0, x)[0] - encoderdistance), 1).x
min = 90-((180/np.pi) * np.arctan(((np.tan(minimize(lambda x: abs(quad(func, 0, x)[0] - encoderdistance), 1).x))*minor)/major))
print min
中的几个函数,我需要在 C ++ 中使用,但我对C ++的了解太多了能够将此代码转换为此语言。
我需要具备哪些C ++函数:
array
谢谢!
答案 0 :(得分:1)
我只知道Cython可以引导你正确的方向。 Quad http://quadpackpp.sourceforge.net可以轻松地从C ++调用。大多数numpy函数都在libc.math(abs,可能是arctan等)。 Pi你可以将值硬编码为double。最小化您将不得不搜索scipy源代码https://github.com/scipy/scipy/blob/master/scipy/optimize/optimize.py以查看调用的库。大多数numpy / scipy函数依赖于Blas / Lapack或使用MKL C ++变体。