mncyj265 发表于 2006-12-29 04:52

龙格库塔解微分方程编写

:'( 没有学过 老师就让我们编写 郁闷哈!
龙格库塔解微分方程 y'=1+y*y y(0)=0比较区间[0,1.4]内初值问题 求4阶龙格库塔解   Y'=F(T,Y) Y(A)=Y0的近似解  55写了几个程序但是结果不正确  拜托大家帮帮忙

[ 本帖最后由 xinyuxf 于 2007-7-22 16:01 编辑 ]

sunning 发表于 2006-12-29 11:18

我自己编了一段,你试一下,应该没问题,我用过很多次
%四阶RK法求解常微分方程
function y=RK(a,b,N,af);
h=(b-a)/N;
x(1)=a;
y(1)=af;
jqj(1)=af;
for i=2:N+1
    K1=f(x(i-1),y(i-1));
    K2=f(x(i-1)+h/2,y(i-1)+h*K1/2);
    K3=f(x(i-1)+h/2,y(i-1)+h*K2/2);
    K4=f(x(i-1)+h,y(i-1)+h*K3);
    y(i)=y(i-1)+(K1+2*K2+2*K3+K4)/6;
    x(i)=x(i-1)+(i-1)*h;
    jqj(i)=x(i)+exp((-x(i)));
end

er=norm(y-jqj,2)/norm(y)
plot(x',y','r',x',jqj','g');
legend('RK法','精确解');
页: [1]
查看完整版本: 龙格库塔解微分方程编写