rk_sigle_step.m

来自「龙格库塔程序源代码」· M 代码 · 共 34 行

M
34
字号
function data = RK_sigle_step(t0,x0,h,dx)
%函数功能:龙格-库塔递推
%输入参数:(t0,x0)-初值;h-步长;dx-导函数.
%返 回 值:解曲线上的点.
%调用关系:被龙格-库塔函数RK(x0,y0,h,N)调用.

syms t x;

%计算K1
t = t0;
x = x0;
K1 = eval(dx);
    
%计算K2
t = t0 + 0.5 * h;
x = x0 + 0.5 * h * K1;
K2 = eval(dx);
    
%计算K3
t = t0 + 0.5 * h;
x = x0 + 0.5 * h * K2; 
K3 = eval(dx);
    
%计算K4
t = t0 + h;
x = x0 + h * K3;
K4 = eval(dx);
    
%计算x1
x = x0 + h * (K1 + 2 * K2 + 2 * K3 + K4) / 6;
    
%保存数据
data(1,1) = t;
data(1,2) = x;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?