python - Python 2.7:fsolve 有时会返回初始猜测而不是解决方案:
问题描述
我正在尝试解决一组非线性方程。我必须为不同的参数解决它。大多数时候,一切似乎都运行良好。就像在这种情况下:
from scipy.optimize import fsolve
import numpy as np
p=3
x_diff=3.32
y_diff=-1.93
z_diff=0.64
def cubic(c):
r=c[0]
u=c[1]
F=np.empty((2))
F[0]=y_diff*cos(u)-x_diff*sin(u)
F[1]=r+cos(u)*x_diff+y_diff*sin(u)+(r**(2*p-1))*(a**2)*p+z_diff*p*(r**(p-1))*a
return F
cGuess=np.array([3.,2.])
c=fsolve(cubic,cGuess)
x=cubic(c)
最后,我通过将结果插入函数cubic() 来测试结果。对于上面使用的参数,该函数给出了接近于零的值。但如果我更改参数 x_diff、y_diff 和 z_diff。fsolve 返回初始 Guess 作为解,这不是方程组的解,因为您可以将其插入函数cubic() 中。
x_diff=-6.15
y_diff=-2.11
z_diff=0.13
我对python很陌生,所以这可能只是一个愚蠢的错误,但我找不到。我真的需要这个工作,所以谢谢你的每一个帮助!谢谢!
解决方案
推荐阅读
- android - 迁移到 androidX 后,OkHttp 帖子内容在发布版本中为空
- spring-boot - Spring-Boot 1.5.10.release 与 apache-kafka-2.3.0 客户端的兼容性
- android - 使用特定的物理相机 ID 而非逻辑相机 ID 拍摄照片
- php - 带狮身人面像的智能过滤器
- javascript - 将保留按钮添加到表格的第 4 列。链接到灯箱/弹出窗口
- angular - 如何使用 Angular 6 中的一些 UI 即时编辑翻译文件?
- javascript - 如何在 ReactNative HighCharts 中设置 HTTP?
- javascript - 将图形点绘制为实时流:Highcharts
- encryption - 颤振:错误:类型“字符串”不是“加密”类型的“加密”类型的子类型
- javascript - 将 javascript 变量保存到文件中