0
Matlab 코드를 Jython 버전으로 전송하려고합니다. Matlab의 fminsearch가 Apache-Common-Math-Optimization으로 대체 될 수 있습니다. 저는 자이 썬 2.5.3을 코딩 언어로 사용하는 망고 메디컬 이미지 스크립트 매니저를 코딩하고 있습니다. 수학 버전은 3.6.1입니다. 여기 내 코드입니다 :자이 썬에서 Apache Commons Math Optimization을 사용하는 방법?
def f(x,y):
\t return x^2+y^2
sys.path.append('/home/shujian/APPs/Mango/lib/commons-math3-3.6.1.jar')
sys.add_package('org.apache.commons.math3.analysis')
from org.apache.commons.math3.analysis import MultivariateFunction
sys.add_package('org.apache.commons.math3.optim.nonlinear.scalar.noderiv')
from org.apache.commons.math3.optim.nonlinear.scalar.noderiv import NelderMeadSimplex,SimplexOptimizer
sys.add_package('org.apache.commons.math3.optim.nonlinear.scalar')
from org.apache.commons.math3.optim.nonlinear.scalar import ObjectiveFunction
sys.add_package('org.apache.commons.math3.optim')
from org.apache.commons.math3.optim import MaxEval,InitialGuess
sys.add_package('org.apache.commons.math3.optimization')
from org.apache.commons.math3.optimization import GoalType
initialSolution=[2.0,2.0]
simplex=NelderMeadSimplex([2.0,2.0])
opt=SimplexOptimizer(2**(-6), 2**(-10))
solution=opt.optimize(MaxEval(300),ObjectiveFunction(f),simplex,GoalType.MINIMIZE,InitialGuess([2.0,2.0]))
skewParameters2 = solution.getPointRef()
print skewParameters2;
그리고 아래의 오류가 발생했습니다 :
TypeError: optimize(): 1st arg can't be coerced to
나는 최적화를 사용하는 방법에 대한 매우 혼란 스러워요 자이 썬에서는 예제가 모두 자바 버전이다.