- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
龙格库塔法RKF45的Matlab实现??
2007-08-1614:03:32|??分类:?\oMatLab/Maple/MathematicaMatLab/Maple/Mat|字号?订阅
4阶5级龙格库塔法用于解一阶微分方程(组),对于高阶微分方程,可以将其转换为一阶微分方程组求解。原程序由John.H.Mathews编写(数值方法matlab版),但只能解微分方程,不能解微分方程组。由LiuLiu@uestc修改,使之能够解微分方程组。该程序精度比matlab自带的ode45更高。
rkf45.m:
function[RtRx]=rkf45(f,tspan,ya,m,tol)
%Input:
%?????????-f??functioncolumnvector
%?????????-tspan[a,b]leftrightpointof[a,b]
%?????????-ya?initialvaluecolumnvector
%?????????-m???initialguessfornumberofsteps
%?????????-tol?tolerance
%Output:
%?????????-Rt?solution:vectorofabscissas
%?????????-Rx?solution:vectorofordinates
%ProgrambyJohn.Mathews,improvedbyliuliu@uestc
iflength(tspan)~=2
???error(lengthofvectortspanmustbe2.);
end
if~isnumeric(tspan)
???error(TSPANshouldbeavectorofintegrationsteps.);
end
if~isnumeric(ya)
???error(Yashouldbeavectorofinitialconditions.);
end
h=diff(tspan);
ifany(sign(h(1))*h=0)
???error(EntriesofTSPANarenotinorder.);
end?
a=tspan(1);
b=tspan(2);
ya=ya(:);
a2=1/4;b2=1/4;a3=3/8;b3=3/32;c3=9/32;a4=12/13;
b4=1932/2197;c4=-7200/2197;d4=7296/2197;a5=1;
b5=439/216;c5=-8;d5=3680/513;e5=-845/4104;a6=1/2;
b6=-8/27;c6=2;d6=-3544/2565;e6=1859/4104;f6=-11/40;
r1=1/360;r3=-128/4275;r4=-2197/75240;r5=1/50;
r6=2/55;n1=25/216;n3=1408/2565;n4=2197/4104;n5=-1/5;
big=1e15;
h=(b-a)/m;
hmin=h/64;%步长自适应范围下限
hmax=64*h;%步长自适应范围上限
max1=200;%迭代次数上限
Y(1,:)=ya;
T(1)=a;
j=1;
%tj=T(1);
br=b-0.00001*abs(b);
while(T(j)b),
?if((T(j)+h)br),h=b-T(j);end
??
?%caculatevaluesofk1...k6,y1...y6
?tj=T(j);
?yj=Y(j,:);
?y1=yj;
?k1=h*feval(f,tj,y1);
?y2=yj+b2*k1;????????????????????????????
?ifbigabs(max(y2))return,end
?k2=h*feval(f,tj+a2*h,y2);
?y3=yj+b3*k1+c3*k2;?????????????????????ifbigabs(max(y3))return,end
?k3=h*feval(f,tj+a3*h,y3);
?y4=yj+b4*k1+c4*k2+d4*k3;??????????????ifbi
您可能关注的文档
最近下载
- 神经系统的分级调节ppt课件.pptx VIP
- AI测试练习试题及答案.doc
- 2025广西南宁江南区“点对点”送工和乡村公岗专管员招聘2人备考练习题库及答案解析.docx VIP
- 肿瘤防治策略与最新进展.docx VIP
- 第五章植物-病原互作过程中效应子的作用.ppt VIP
- 湘科版《科学》四年级上册全册教案.doc VIP
- IEC_62893-4-1-2020 额定电压不超过 0.61 KV 的电动汽车充电电缆 – 第 4-1 部分:符合 IEC 61851‑‑1 模式 4 的直流充电电缆 – 不使用热管理系统的直流充电.pdf VIP
- 机器人集成解决方案 (机器人+).pdf VIP
- 消除艾滋病、梅毒和乙肝母婴传播项目工作制度及流程(模板).pdf
- 2025广西南宁市江南区“点对点”送工和乡村公岗专管员招聘考试备考试题及答案解析.docx VIP
文档评论(0)