小编Ric*_*ind的帖子

将参数传递给fsolve

我正在解决一个有很多常数的非线性方程.
我创建了一个解决方案,如:

def terminalV(Vt, data):
    from numpy import sqrt
    ro_p, ro, D_p, mi, g = (i for i in data)
    y = sqrt((4*g*(ro_p - ro)*D_p)/(3*C_d(Re(data, Vt))*ro)) - Vt
    return y
Run Code Online (Sandbox Code Playgroud)

然后我想做:

data = (1800, 994.6, 0.208e-3, 8.931e-4, 9.80665)
Vt0 = 1
Vt = fsolve(terminalV, Vt0, args=data)
Run Code Online (Sandbox Code Playgroud)

但是fsolve解压缩data并传递太多参数才能terminalV运行,所以我得到:

TypeError:terminalV()只需2个参数(给定6个)

所以,我的问题可以以某种方式将一个元组传递给被调用的函数fsolve()

python numpy scipy python-2.7

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

numpy ×1

python ×1

python-2.7 ×1

scipy ×1