matlab 龙格库塔法 变步长龙格库塔法.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河北科技大学硕士学位研究生 2012——2013学年第二学期 《Matlab语言及应用》结课论文 学 院: 信息科学与工程学院 专 业: 电路与系统 姓 名: 张利超 学 号: S2012014011 经典龙格库塔法及变步长龙格库塔法 1.经典龙格库塔法及变步长龙格库塔法matlab代码 a.经典龙格库塔法文件: Rungkutta4.m function R=Rungkutta4(f,a,b,N,ya) h = (b-a)/N; x = zeros(1,N+1); y = zeros(1,N+1); x = a:h:b; y(1) = ya; for i+1:N ??? k1 = feval(f,x(i),y(i));?? ??? k2 = feval(f,x(i)+h/2,y(i)+(h/2)*k1);?? ??? k3 = feval(f,x(i)+h/2,y(i)+(h/2)*k2);?? ??? k4 = feval(f,x(i)+h,y(i)+h*k3);?? ??? y(i+1) = y(i)+(h/6)*(k1+2*k2+2*k3+k4); end b.变步长龙格库塔法文件:change_step_RK.m function change_step_RK(fun); p21=2^p-1; while x(end)xN; [x1,y1]=RK_f(fun,x(n),y(n),h); [x2,y2]=RK_f(fun,x(n),y(n),h/2); if abs(y1-y2)/p21AbsTol; while abs(y1-y2)/p21AbsTol; x2=x1; y2=y1; h=2*h; [x1,y1]=RK_f(fun,x(n),y(n),h); end else while abs(y1-y2)/p21AbsTol; x1=x2; y1=y2; h=h/2; [x2,y2]=RK_f(fun,x(n),y(n),h/2); end end [xa,ya]=RK_f(fun,h,x(n),y(n)); x(n+1)=xa; y(n+1)=ya; n=n+1; end plot(x,y,k); function [xa,ya]=RK_f(fun,h,x,y); k1=fun(x,y); k2=fun(x+h/2,y+h*k1/2); k3=fun(x+h/2,y+h*k2/2); k4=fun(x+h,y+h*k3); xa=x+h; ya=y+h*(k1+k2*2+2*k3+k4)/6; 2.利用两种方法求解初值问题 0x1,h=0.01 a.经典龙格库塔法 function varargout=saxplaxliu(varargin) clc,clear x0=0;xn=1;y0=0;h=0.01; [y,x]=lgkt4j(x0,xn,y0,h); n=length(x); fprintf( i x(i) y(i) \n); for i=1:n fprintf(%2d %4.6f %4.6\n,i,x(i),y(i)); end plot(x,y,k) function z=f(x,y) z=cos(x)+sin(y); function [y,x]=lgkt4j(x0,xn,y0,h) x=x0:h:xn; n=length(x); y1=x; y1(1)=y0; for i=1:n-1 K1=f(x(i),y1(i)); K2=f(x(i)+h/2,y1(i)+h/2*K1); K3=f(x(i)+h/2,y1(i)+h/2*K2); K4=f(x(i)+h,y1(i)+h*K3); y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4); end y=y1; 运行结果截取前20个 i x(i) y(i) 1 0.000000 0.000000 2 0.010000 0.010050 3 0.020000 0.020200 4 0.030000 0.0304

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档