加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

四五阶龙哥库塔法(RK45)解二阶微分方程

(2012-05-24 10:59:25)
标签:

龙哥库塔法

rk45

二阶微分方程

教育

所解方程为  y’’= -y

 

主程序 M文件 

a=0;

b=8*pi;

n=400;

h=(b-a)/n;

xa=3;

ya=0;

T=a:h:b;

X=zeros(1,n+1);

Y=zeros(1,n+1);

X(1)=xa;

Y(1)=ya;

for i=1:n

    f1=f(T(i),X(i),Y(i));

    g1=g(T(i),X(i),Y(i));

    f2=f(T(i)+h/2,X(i)+f1*h/2,Y(i)+g1*h/2);

    g2=g(T(i)+h/2,X(i)+f1*h/2,Y(i)+g1*h/2);

    f3=f(T(i)+h/2,X(i)+f2*h/2,Y(i)+g2*h/2);

    g3=g(T(i)+h/2,X(i)+f2*h/2,Y(i)+g2*h/2);

    f4=f(T(i)+h,X(i)+f3*h,Y(i)+g3*h);

    g4=g(T(i)+h,X(i)+f3*h,Y(i)+g3*h);

    X(i+1)=X(i)+(f1+2*f2+2*f3+f4)*h/6;

    Y(i+1)=Y(i)+(g1+2*g2+2*g3+g4)*h/6;%四阶龙格-库塔方法

end

R1=[T',X',Y']

 

函数M文件

f.m

function y=f(x,y,z)

y=z; 

g.m

function y=g(x,y,z)

y=-y;

 

将两段M文件的程序分别放入M文件,即可运行。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有