Re: [问题] fslove 传递变量

楼主: KSJ (阿真)   2013-12-31 01:02:22
import numpy
from scipy.optimize import fsolve
def f(x, y, z):
#y = [1,1,3,3,5,5] 是个list
#z = [你要传的那些东西]
x = map( float, x )
x,y,z = map(numpy.array, (x,y,z) )
a,b,c,d,e,f = x
p1 = numpy.array( [a,d,a,d,a,d] )
p2 = numpy.array( [b,e,b,e,b,e] )
p3 = numpy.array( [c,f,c,f,c,f] )
return list( y*p1 + y*p2 + p3 - z )
result = fsolve(f, [0,0,0,0,0,0])
没跑过
参考一下吧
※ 引述《diesnow (0 0)》之铭言:
: 请问用Fslove中要解近似值~
: 其中的
: 1,1,3,3,5,5
: -10,-19,-26,-41,42,-63
: 这些想改成可以由外部传递进去
: 要怎么传才好Orz 感谢
: 一样是求a,b,c,d,e,f
: from scipy.optimize import fsolve
: def f(x):
: a = float(x[0])
: print(x[0])
: b = float(x[1])
: c = float(x[2])
: d = float(x[3])
: e = float(x[4])
: f = float(x[5])
: return [
: 1*a+1*b+c-10,
: 1*d+1*e+f-19,
: 3*a+3*b+c-26,
: 3*d+3*e+f-41,
: 5*a+5*b+c-42,
: 5*d+5*e+f-63
: ]
: result = fsolve(f, [0,0,0,0,0,0])

Links booklink

Contact Us: admin [ a t ] ucptt.com