首页 常微分方程数值解的若干Matlab函数文件

常微分方程数值解的若干Matlab函数文件

举报
开通vip

常微分方程数值解的若干Matlab函数文件nullnull8.7 常微分方程数值解的若干Matlab函数文件8.7.1 Euler 方法的 Matlab 函数文件null8.7.2 经典Runge-Kutta 法的 Matlab 函数文件function [x,y] =rk4(f,tspan,y0,n) % 解初值问题:y’ =f(x,y),y(a)=y0。 % 使用 n 步 4 阶 R-K 法。 a=tspan(1);b=tspan(2);h=(b-a)/n; k1=h*feval (f,a,y0...

常微分方程数值解的若干Matlab函数文件
nullnull8.7 常微分方程数值解的若干Matlab函数文件8.7.1 Euler 方法的 Matlab 函数文件null8.7.2 经典Runge-Kutta 法的 Matlab 函数文件function [x,y] =rk4(f,tspan,y0,n) % 解初值问题:y’ =f(x,y),y(a)=y0。 % 使用 n 步 4 阶 R-K 法。 a=tspan(1);b=tspan(2);h=(b-a)/n; k1=h*feval (f,a,y0); k2=h*feval (f,a+h/2,y0+k1/2); k3=h*feval (f,a+h/2,y0+k2/2); k4=h*feval (f,a+h,y0+k3); y(1)=y0+k1/6+k2/3+k3/3+k4/6; nullfor i=1:n-1 k1=h*feval(f,x(i),y(i)); k2=h*feval(f,x(i)+h/2,y(i)+k1/2); k3=h*feval(f,x(i)+h/2,y(i)+k2/2); k4=h*feval(f,x(i)+h/2,y(i)+k3/2); y(i+1)=y(i)+k1/6+k2/3+k3/3+k4/6 ; end x=[a x]; y=[y0 y]; nullfunction [x,y] =ad3 (f,tspan,y0,n) a=tspan(1);b=tspan(2); h=(b-a)/n;hh=h/12; x=(a+h:h:b); %使用中点方法提供开始值。 z0=feval (f,a,y0); k1=h*z0;k2=h*feval (f,a+h/2,y0+k1/2) ; y(1)=y0+k2; z(1)=feval (f,x(1)+h/2,y(1)+k1/2); 8.7.3 三阶 Adams方法的 Matlab 函数文件nullk1=h*z(1);k2=h*feval (f,x(1)+h/2,y(1)+k1/2) ; y(2)=y(1)+k2 ; % 继续使用三阶 Adams 方法。 z(2)=feval (f,x(2),y(2)); y(3)=y(2)+hh*(23*z(2)-16*z(1)+5*feval (f,a,y0)) ; for i=3:n-1 z(i) =feval (f,x(2),y(2)) ; y(i+1)=y(i)+hh(23*z(i)-16*z(i-1)+5z(i-2)) : end x=[a x] ; y=[y0 y];
本文档为【常微分方程数值解的若干Matlab函数文件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_685869
暂无简介~
格式:ppt
大小:352KB
软件:PowerPoint
页数:0
分类:理学
上传时间:2011-11-14
浏览量:20