雅可比矩阵在求解虚拟现实问题中的应用

2024-09-30 22:13:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用solve_ivp内置函数和Jacobian矩阵。 我收到以下错误消息:

UserWarning: The following arguments have no effect for a chosen solver: jac. .format(", ".join("{}".format(x) for x in extraneous)))

我不确定这是语法错误还是雅可比矩阵错误。在

我的一些代码

def MyIntFun(t,y):
    return DivWatFlux(y,t,wPar, sPar, RPar,dzIN, dzN)

def jacfunc(t,y):
    jac = Richardsmatrix(y, t, wPar, sPar, RPar, dzIN, dzN)
    return jac

mt.tic()
hwODE = spi.solve_ivp(MyIntFun, [tout[0], tout[-1]], hw0, method='RK45', 
    vectorized=True,rtol=1e-4, jac=jacfunc) 
mt.toc()

这是雅可比的代码:

^{pr2}$

我和我的团队在编程方面都是新手,所以非常感谢任何帮助!在


Tags: 代码formatforreturndef错误矩阵solve
1条回答
网友
1楼 · 发布于 2024-09-30 22:13:32

有两个不同的问题。在

首先,当method='RK45'传递给solve_ivp时,解算器(在本例中为Runge-Kutta 4/5)不能使用Jacobian。尝试传递solver='Radau'solver='BDF'、或{},因为它们根据documentation使用Jacobian(特别是,jac关键字参数被记录)。在

我看到的另一个问题是,Richardsmatrix函数有一个return语句,它不返回任何内容。您可能想改为尝试return sB(假设sB是您希望函数返回的矩阵)。在

相关问题 更多 >