def d_fine(self, x, y, L, xmin, xmax, d): self.x = x self.y = y self.L = L self.xmin = xmin self.xmax = xmax self.index = 0 result, fx, conv_flag, nfe, res = nelmin.minimize(self.func2, [d]) return result
def p_fit(self, x, y, L): self.x = x self.y = y self.fitindex = 0 p = L.group() for i in range(0, 2): result, fx, conv_flag, nfe, res = nelmin.minimize(self.func, p) self.p = result return self.p
def p_fit(self, x, y, L): self.x = x self.y = y self.fitindex = 0 p = L.group() for i in range(0,2): result, fx, conv_flag, nfe, res = nelmin.minimize(self.func, p) self.p = result return self.p
import nelmin import sys if __name__ == '__main__': # We are running a stand-alone script, so get on with some work. if len(sys.argv) == 1 or (len(sys.argv) > 1 and sys.argv[1]) == '-help': print "Usage: design_x2_nozzle.py [-opt|-single|-help]" sys.exit() print "Begin" # param = [0.06, 0.07, 0.08, 0.09, 0.10] param = [0.040496, 0.065839, 0.051086, 0.089875, 0.103871] if sys.argv[1] == '-opt': dparam = [ 0.002, ] * len(param) # nominal perturbations popt, fpopt, conv_flag, nfe, nres = \ nelmin.minimize(objective_function, param, dparam, 1.0e-6, 100) print "optimised parameters=", popt print "objective=", fpopt print "convergence-flag=", conv_flag print "number-of-fn-evaluations=", nfe print "number-of-restarts=", nres elif sys.argv[1] == '-single': objective_function(param, 1) else: print "Unknown command option:", sys.argv[1] print "Done"