matlab fsolve不收敛,Scipy.optimize.root当matlabfsolve工作时,Python无法收敛,为什么?...

我试图用Python找到函数f的根y。在

这是我的代码:def f(y):

w,p1,p2,p3,p4,p5,p6 = y[:7]

t1 = w - 0.99006633*(p1**0.5) - (-1.010067)*((1-p1))

t2 = w - 22.7235687*(p2**0.5) - (-1.010067)*((1-p2))

t3 = w - 9.71323491*(p3**0.5) - (-1.010067)*((1-p3))

t4 = w - 2.43852877*(p4**0.5) - (-1.010067)*((1-p4))

t5 = w - 3.93640207*(p5**0.5) - (-1.010067)*((1-p5))

t6 = w - 9.22688144*(p6**0.5) - (-1.010067)*((1-p6))

t7 = p1 + p2 + p3 + p4 + p5 + p6 - 1

return [t1,t2,t3,t4,t5,t6,t7]

x0 = np.array([-0.01,0.4,0.1,0.2,0.1,0.1,0.1])

sol = scipy.optimize.root(f, x0)

print sol

Python找不到根。但是有一个,我在Matlab中用函数fsolve找到的。在

它是:

[0.3901,0.6166,0.0038,0.0202,0.2295,0.1076,0.0223]

我真的很想用Python。有人能解释一下为什么吗scipy.optimize.root在Python中不收敛,而在Matlab中则收敛?在

仅供参考,scipy.optimize.solve也不收敛。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值