ODE卡普五阶方法
- 更新时间2025-07-30
- 阅读时长5分钟
通过卡普(Cash Karp)方法求解带初始条件的常微分方程。

输入/输出
X(变量名)
—
X是变量字符串数组。
开始时间
—
起始时间是常微分方程(ODE)的开始点。默认值为0。
结束时间
—
结束时间是待测时间区间的结束点。默认值为1.0。
h(步长)
—
h是算法开始时的步长。Cash Karp算法的步长可以调整。默认值为0.1。
X0
—
X0是描述开始条件的向量,x[10], …, x[n0]。 X0和X的分量一一对应。
精度
—
精度用于控制解法的精度。默认值为0.0,用于指定计算值与实际值之间的最大偏差。
时间
—
时间是时间变量的字符串表示。默认的变量为t。
F(X,t) (常微分方程右侧
作为X和t的函数)
—
F(X,t)该一维数组用于表示微分方程的右端项。公式可包含任意数量的有效变量。
时间
—
时间是用于表示时间步长的一维数组。ODE Cash Karp在开始时间和结束时间之间可以产生随机的时间步长。
X值(解)
—
X值是解向量x[10], …, x[n]组成的二维数组。 顶层索引是时间数组中指定的时间步长,底层索引是元素x[10], …, x[n]。
时钟滴答
—
计时是用于整个计算的时间,以毫秒为单位。
错误
—
错误返回VI的任何错误或警告。使用错误的X、X0和F(X,t)输入会导致错误。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。 |
卡普法会自动调节步长,计算效率高于欧拉方法和库塔方法。卡普方法内嵌库塔公式,是五阶方法,分为六步。

且

其中
tn + 1 = tn + hThe a2, …, a6、b21, …, b65、c1, …, c6以及c1*, …, c6*是确定的实数。该选项可确定方法的效果。
你可以借助 精度 值、旧的步长 h、差值Δ=|X(tn +1)- X*(tn +1)|,以及以下公式来确定实际步长hnew 。

注: 时间中的最后一个元素可能大于结束时间。这是Cash Karp方法的一个属性。该方法十分精确,但是步长无法控制。为保证结束时间中指定的点有效,最后步长可能较长。
下图为常微分方程组解的三维表示。

在前面板上输入方程和边界条件:
- 开始时间:0.00
- 结束时间:40.00
- X0: [0.6, 0.6, 0.6]
- F(X,t): [10*(y - x), x*(28 - z) - y, x*y - (8/3)*z]
- X: [x, y, z]
范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\Mathematics\Differential Equations - ODE\Planar Three Body Problem.vi
X(变量名)
—
开始时间
—
X0
—
时间
—
时间
—
X值(解)
—
时钟滴答
—
错误
—