我正在尝试用matlab在一个二维矩阵(x,y)上实现Runge-Kutta的四阶积分方法。矩阵包含每个点的高度值(浮点数)。这个想法是在矩阵中放置一个粒子,并观察它的路径,因为它被方向向量u和v推来推去。
我已经简单地使用matlab中的“梯度”函数实现了Euler的积分方法。然而,对于RK4积分,我需要在可变点上取4个斜率,而不是梯度给定的预定斜率。
我认为Matlab梯度函数本身没有这样的参数(根据我从Matlab文档中了解到的)。我应该采取什么样的方法呢?
如果我要编写自己的梯度函数来计算任意点的斜率,我不太确定如何编写它,因为它不是一个直接向前的函数。对于这种方法有什么建议吗?
谢谢。
发布于 2011-06-20 17:10:21
如果我要编写自己的梯度函数来计算任意点的斜率,我不太确定如何编写它,因为它不是一个直接向前的函数。对于这种方法有什么建议吗?
我怀疑interp2
可能就是你要找的人。您可以将包含离散点的梯度的矩阵提供给它,它将进行插值以找到任何中间点的梯度值。
https://stackoverflow.com/questions/6413044
复制