未提供fprime使用割线法时scipy.optimize.newton如何选取x1
scipy.optimize.newton 割线法自动生成初始值x1的逻辑 当不传入导数参数fprime启用割线法时,函数确实内置了自动生成第二个初始点x1的逻辑,具体规则如下:
- 首先检测用户是否主动传入了
x1参数,若已传入则直接使用用户提供的值 - 若未传入
x1,则按以下规则自动计算:- 如果初始点
x0不为0,x1 = x0 * 1.0001 - 如果初始点
x0为0,x1 = 1e-4
- 如果初始点
自动生成x1后,函数就会按照标准割线法的迭代流程完成零点求解,所以仅传入x0也可以正常运行。如果有符合求解场景的合理x1取值,建议手动传入,可有效提升迭代收敛速度和求解成功率。
内容的提问来源于stack exchange,提问作者Reuben Blaff
相关产品推荐
相关产品推荐

