参考教材《数值分析》李乃成.梅立泉
clear
clc
format long
m=input('请输入常微分方程的阶数m=');
a=input('请输入x下限a=');
b=input('请输入x上限b=');
h=input('请输入步长h=');
ym=input('令y(1,1)=y,y(2,1)=y’,y(3,1)=y’’...请输入ym=','s'); %输入的时候必须按照这个形式输入y1=y(1,1);
if m==1 %一阶初值问题单独求解
mm=(b-a)/h;
y(1,1)=input('请输入在初值点的函数值f(a)=');
x=a;
y11(1)=y(1,1);
for k1=2:(mm+1)
y1=y(1,1);
K(1,1)=h*(eval(ym)); %计算K1
x=x+h/2;
y(1,1)=y1+K(1,1)/2;
y1=y(1,1);
K(1,2)=h*(eval(ym)); &nbs

该博客介绍了一个基于四阶龙格-库塔法的MATLAB程序,用于求解一阶和高阶常微分方程的初值问题。用户可以通过输入参数如阶数、区间、步长和初值,程序将计算并输出解。程序首先处理一阶问题,然后扩展到更高阶的问题,涉及递归计算K值和更新解的过程。
最低0.47元/天 解锁文章
1328

被折叠的 条评论
为什么被折叠?



