Fai*_*ual 5 c++ python math numpy scipy
我有一段代码使用了C++numpy中的多个函数,scipy我需要在 C++ 中使用它们,但我对 C++ 的了解太有限,无法将此代码转换为这种语言。
我应该需要什么 C++ 函数才能有这样的东西:
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
Run Code Online (Sandbox Code Playgroud)
谢谢!
我只知道 Cython 可以引导你正确的方向。Quad http://quadpackpp.sourceforge.net可以轻松地从 C++ 调用。大多数 numpy 函数都在 libc.math 中(abs,可能是 arctan 等)。Pi,您可以将值硬编码为双精度值。最小化你必须搜索 scipy 源代码https://github.com/scipy/scipy/blob/master/scipy/optimize/optimize.py来查看调用了什么库。大多数 numpy / scipy 函数依赖 Blas / Lapack 或使用 MKL C++ 变体。