(精品word)MATLAB龙格-库塔方法解微分方程.doc 立即下载
2024-09-09
约1.6千字
约6页
0
101KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

(精品word)MATLAB龙格-库塔方法解微分方程.doc

(精品word)MATLAB龙格-库塔方法解微分方程.doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(精品word)MATLAB龙格-库塔方法解微分方程
(精品word)MATLAB龙格-库塔方法解微分方程
(精品word)MATLAB龙格-库塔方法解微分方程
龙格—库塔方法是一种经典方法,具有很高的精度,它间接的利用了泰勒级数展开,避免了高阶偏导数的计算。此处以最为经典的四级四阶龙格-库塔方法为例,计算格式如下




1龙格—库塔法解一阶ODE
对于形如的一阶ODE初值问题,可以直接套用公式,如今可以借助计算机方便的进行计算,下面给出一个实例

取步长h=0。1,此处由数学知识可得该方程的精确解为。在这里利用MATLAB编程,计算数值解并与精确解相比,代码如下:

(1)写出微分方程,便于调用和修改
functionval=odefun(x,y)

val=y—2*x/y;

end


(2)编写runge-kutta方法的函数代码

functiony=runge_kutta(h,x0,y0)
k1=odefun(x0,y0);
k2=odefun(x0+h/2,y0+h/2*k1);
k3=odefun(x0+h/2,y0+h/2*k2);
k4=odefun(x0+h,y0+h*k3);

y=y0+h*(k1+2*k2+2*k3+k4)/6;

end

(3)编写主函数解微分方程,并观察数值解与精确解的差异

clearall
h=0。1;
x0=0;
y0=1;
x=0.1:h:1;
y(1)=runge_kutta(h,x0,y0);
fork=1:length(x)
x(k)=x0+k*h;
y(k+1)=runge_kutta(h,x(k),y(k));
end
z=sqrt(1+2*x);
plot(x,y,’*’);
holdon
plot(x,z,'r');

结果如下图,数值解与解析解高度一致






2龙格—库塔法解高阶ODE

对于高阶ODE来说,通用的方法是将高阶方程通过引入新的变量降阶为一阶方程组,此处仍以一个实例进行说明。

这是一个二阶ODE,描述的是一个物体的有阻尼振动情况。
初始条件为,将方程降阶,引入一个向量型变量Y
故有
记则至此,二阶方程降阶为一阶方程组。值得注意的是此时再用龙格-库塔法进行求解时,代入的将是一个Y向量。同样利用MATLAB进行计算,步长h=0。05,时间周期为[0,20].

编写ODE函数
functionY=odefun1(~,Y0)
%此处Y0为一个列向量,因为时间t未显含在一阶方程组中
%所以ode函数的第一个参数为空,要根据具体情况而定。
Y=[Y0(2);
(2000-200*Y0(2)-750*Y0(1))/500;];
end

编写runge—kutta函数

functionY=rkfa(h,t0,Y0)
k1=odefun1(t0,Y0);
k2=odefun1(t0+h/2,Y0+h/2*k1);
k3=odefun1(t0+h/2,Y0+h/2*k2);
k4=odefun1(t0+h,Y0+h*k3);
Y=Y0+h*(k1+2*k2+2*k3+k4)/6;
end

编写主函数

clearall
h=0。05;
t=0。05:h:20;
t0=0;
Y0=[0;
0];%初值
Y=cell(1,length(t));
Y{1}=rkfa(h,t0,Y0);
z=zeros(2,length(t));

fork=1:length(t)

Y{k+1}=rkfa(h,t0,Y{k});
z(1,k)=Y{k}(1);
z(2,k)=Y{k}(2);

end
plot(t,z(1,:),'r');%位移y的图像
holdon
plot(t,z(2,:));%速度y’的图像

求解结果如下图

查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

(精品word)MATLAB龙格-库塔方法解微分方程

文档大小:101KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用