MATLAB 实例源码教程:龙格库塔法求解微分方程组源代码实例
题目:
用经典 Runge-Kutta 方法求下列一阶微分方程组的近似解:
y1' = 3y1 + 2y2 − (2x2 + 1)e2x, y1(0) =
1 e2x 表示 exp(2*x)
y2 '= 4y1 + y2 + (x2 + 2x − 4)e2x, y2(0) = 1
y3 '= 2y1 − y2 − xe3x, y3(0) = 1
y4 '= y1 + x2ex, y4(0) = 1
y5 '= y2 − e2x, y5(0) = 1
其中初值条件 y0 为一个五维数组,包含了这五个方程在区间
[0,1]左端点 0 的值,并假设 N=10 为区间等分数
程序:
function rk(A,x,h,y0)
%A 为字符串函数的元胞数组
%x 为 x 轴上的各点
%h 为点距
%y0 为初值
i=1;
y(i,:)=y0;
- 1
- 2
前往页