我试图在matlab上用二维矩阵(x,y)实现Runge-Kutta的四阶积分方法。矩阵在每个点包含高度值(浮点)。这个想法是在矩阵中放置一个粒子并观察它的路径,因为它被方向向量u和v“推”。
我已经使用matlab中内置的'渐变'功能实现了Euler的积分方法。但是,对于RK4积分,我需要在变点处采用4个斜率,而不是梯度给出的预定斜率。
我认为Matlab梯度函数本身没有这些参数(根据我从Matlab文档中理解的)。我应该采取什么样的方法呢?
如果我要编写自己的渐变函数来计算任意点的斜率,我不太清楚如何编写它,因为它不是一个直接的函数。对这种方法有什么建议吗?
感谢。
答案 0 :(得分:0)
如果我要写自己的渐变 计算斜率的函数 任何一点,我都不是 确定如何写它,因为它不是 一个直接的功能。在那儿 对这种方法的任何建议?
我怀疑interp2
可能正是您正在寻找的。您可以在离散点处为其提供包含渐变的矩阵,并且它将进行插值以在任何中间点找到渐变的值。