gpt4 book ai didi

r - R 中矢量/矩阵形式的 ODE 求解系统(使用 deSolve?)

转载 作者:行者123 更新时间:2023-12-05 07:34:28 24 4
gpt4 key购买 nike

所以我想问一下是否有任何方法可以使用矩阵表示法在 R 中定义和求解微分方程组。

我知道你通常会做类似的事情

lotka-volterra <- function(t,a,b,c,d,x,y){
dx <- ax + bxy
dy <- dxy - cy
return(list(c(dx,dy)))
}

但是我想做

lotka-volterra <- function(t,M,v,x){
dx <- x * M%*% x + v * x
return(list(dx))
}

其中 x 是长度为 2 的向量,M 是 2*2 矩阵,v 是长度为 2 的向量。即我想使用矩阵/向量符号来定义微分方程组。

这很重要,因为我的系统要复杂得多,而且我不想定义具有 100 多个参数的 11 个不同的微分方程,而不是定义具有 1 个交互参数矩阵和 1 个增长参数向量的 1 个微分方程。

我可以像上面那样定义函数,但是当涉及到使用 deSolve 中的 ode 函数时,有一个 parms 的期望,它应该作为参数的命名向量传递,当然它不接受非标量值。

在带有 deSolve 或其他包的 R 中,这完全可能吗?如果没有,我会考虑使用 MATLAB 或 Python,尽管我目前不知道这两种语言是如何完成的。

非常感谢,

H

最佳答案

由于我的低声誉(分数),我很抱歉将此作为答案发布,这应该只是评论。回去,你试过这个吗link ?此外,为了找到解决问题的替代方法,您是否尝试过 MANOPT , MATLAB 的工具箱?实际上是 open source就像 R。我在 paper 上遇到了 MANOPT谁的问题归结为solving a system of ODEs involving purely matrices .

关于r - R 中矢量/矩阵形式的 ODE 求解系统(使用 deSolve?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50117615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com