欢迎来到天天文库
浏览记录
ID:50976698
大小:23.31 KB
页数:2页
时间:2020-03-16
《四阶龙格库塔法matlab实现.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、%废话不多说,直接复制就可以运行,文章底部有参考例子,不明白就看看function[yy]=R_K_4(f,y0,x0,xn,hh)%f是inlinefunction的句柄%y0是初始值%[x0xn]是计算范围%hh是步长%%===输入判断===if(4==nargin)%==当没有给步长的时候使用默认步长==h=0.1;elseif(5==nargin)h=hh;end%%===参数初始化(可以修改,可从网上找相关参数的值),以下是通用参数===c=[1/61/31/31/6];r=[0.50.51];u=
2、[0.500.5001];%%===x=x0:h:xn;%==计算节点==y=y0;N=length(x);%==节点数==fork=1:N-1%==以下就直接按书本公式写的,应该容易理解==kk(1)=f(x(k),y(k));kk(2)=f(x(k)+r(1)*h,y(k)+u(1)*h*kk(1));kk(3)=f(x(k)+r(2)*h,y(k)+u(2)*h*kk(1)+u(3)*h*kk(2));kk(4)=f(x(k)+r(3)*h,y(k)+u(4)*h*kk(1)+u(5)*h*kk(2)+
3、u(6)*h*kk(3));y(k+1)=y(k)+h*(c(1)*kk(1)+c(2)*kk(2)+c(3)*kk(3)+c(4)*kk(4));end%%===输出处理===if(0==nargout)fork=1:Nfprintf('x:%fty:%f',x(k),y(k));endelseif(1==nargout)yy=y;elsedisp('error:pleasecheckyourinput');return;endend%%===例子=======%%===input=========%
4、f=inline('x+y','x','y');%R_K_4(f,1,0,1,0.2)%%===output========%x:0.000000y:1.000000%x:0.200000y:1.242800%x:0.400000y:1.583636%x:0.600000y:2.044213%x:0.800000y:2.651042%x:1.000000y:3.436502
此文档下载收益归作者所有