参考公式:
解释:
1. f(x,y)为一阶微分方程式;
2. h为x求解时的步长大小,即。
MALTAB代码展示:
%一阶微分的四阶龙格库塔方程:
clc
clear
f = @(x,y)(-sin(x)); % 定义函数,此处定义为dy/dx,初始方程为y = cos(x)
step = 0.01;
loops = 1000;
x0 = 0;
y0 = 1;
[x, y] = RK4(f,x0,y0,step,loops);
figure(1)
plot(x,y,'r')
title("一阶微分龙格库塔解法:y = cos(x)")
%% Runge-Kutta funtion
function [x, y] = RK4(f, x0, y0, step, loops)
x = zeros(1, loops);
y = zeros(1, loops);
x(1) = x0;
y(1) = y0;
for i = 1 : loops - 1
K1 = f(x(i),y(i));
K2 = f(x(i)