您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 三阶、四阶龙格库塔函数matlab代码
三阶龙格—库塔法的计算公式为:)4(6)2,()2,2(),(3211213121KKKhyyhKhKyhxgKKhyhxgKyxgKiiiiiiii三阶龙格—库塔公式的Matlab程序代码:functiony=DELGKT3_kuta(f,h,a,b,y0,varvec)formatlong;N=(b-a)/h;y=zeros(N+1,1);y(1)=y0;x=a:h:b;var=findsym(f);fori=2:N+1K1=Funval(f,varvec,[x(i-1)y(i-1)]);K2=Funval(f,varvec,[x(i-1)+h/2y(i-1)+K1*h/2]);K3=Funval(f,varvec,[x(i-1)+hy(i-1)-h*K1+K2*2*h]);y(i)=y(i-1)+h*(K1+4*K2+K3)/6;endformatshort;DELGKT3_kuta函数运行时需要调用下列函数:functionfv=Funval(f,varvec,varval)var=findsym(f);iflength(var)4ifvar(1)==varvec(1)fv=subs(f,varvec(1),varval(1));elsefv=subs(f,varvec(2),varval(2));endelsefv=subs(f,varvec,varval);end三阶龙格—库塔求解一阶常微分方程应用实例。用三阶龙格—库塔法求下面常微分方程的数值解。1)0(232yyxdxdy10x在编辑窗口输入下列程序段,然后执行该程序。symsxy;z=2*x-3*y+2;yy=DELGKT3_kuta(z,0.1,0,1,1,[xy])程序执行后得结果四阶龙格—库塔法的计算公式为:)22(6),()2,2()2,2(),(432113423121KKKKhyyhKyhxgKKhyhxgKKhyhxgKyxgKiiiiiiiiiifunctiony=DELGKT4_lungkuta(f,h,a,b,y0,varvec)formatlong;N=(b-a)/h;y=zeros(N+1,1);y(1)=y0;x=a:h:b;var=findsym(f);fori=2:N+1K1=Funval(f,varvec,[x(i-1)y(i-1)]);K2=Funval(f,varvec,[x(i-1)+h/2y(i-1)+K1*h/2]);K3=Funval(f,varvec,[x(i-1)+h/2y(i-1)+K2*h/2]);K4=Funval(f,varvec,[x(i-1)+hy(i-1)+h*K3]);y(i)=y(i-1)+h*(K1+2*K2+2*K3+K4)/6;endformatshort;同理也要先调用Funval函数(见上)四阶龙格—库塔求解一阶常微分方程应用实例。用四阶龙格—库塔法求下面常微分方程的数值解。1)0()1ln(1yxdxdy10x在编辑窗口输入下列程序段,然后执行该程序。z=1+log(x+1)yy=DELGKT4_lungkuta(z,0.1,0,1,1,[x,y])程序执行后得结果
本文标题:三阶、四阶龙格库塔函数matlab代码
链接地址:https://www.777doc.com/doc-1730474 .html