微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Julia中解决梯度依赖ODE

如何解决在Julia中解决梯度依赖ODE

我正在尝试使用DifferentialEquation.jl解决以下ODE:

enter image description here

其中P是用于投影的矩阵。我很难想象如何解决这个问题。有没有办法使用Julia直接解决问题?还是应该尝试手动重新排列方程式(我已经尝试过)以适应通常的微分方程格式? 我已经开始写下一些可以在下面找到的方程式了,但是我并没有走太远。

df=pd.DataFrame(np.random.rand(100,6) * 1,columns=['A','B','C','D','E','F'])

感谢您的任何帮助,并在此先致谢。

解决方法

如果要使用异位形式,则必须返回导数,即

function ODE(u,p,t)
    g,N = p
    Jacg = ForwardDiff.jacobian(g,u)
   
    sum = zeros(size(N,1))

    for i in 1:size(Jacg,1)
        sum = sum + Jacg[i,:] .* (u / norm(u)) .* N[:,i]
    end

    Proj_N(N) * sum
end

我认为您只是混合了变异形式和非变异形式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。