微分方程数值解法对比分析.pdfVIP

  • 0
  • 0
  • 约5.73万字
  • 约 63页
  • 2026-02-09 发布于北京
  • 举报

【例9-1】利用多种方法求解下面的初值问题。

0.8t

y4e−0.5y(0t4)

y(0)2

•解:编写如下语句:

•f=@(t,y)4*exp(0.8*t)-0.5*y;

•[t1,y1]=Explicit_Euler(f,[0,4],2,1)%利用Euler法求数值解

•[t2,y2]=Improved_Euler(f,[0,4],2,1)%改进Euler方法求解微分方程

•[t3,y3]=Classical_RK4(f,[0,4],2,1)%利用经典四阶Runge-Kutta法求解微分方程

•[t4,y4]=Implicit_RK4(f,[0,4],2,1)%利用隐式Runge-Kutta求解微分方程

•[t5,y5]=Improved_Adams(f,[0,4],2,1)%利用预报-校正求解求解微分方程

•y=dsolve(Dy-4*exp(0.8*t)+0.5*y=0,y(0)=2,t);%求微分方程解析解

•ezplot(y,[0,4])%绘制解析解图形

•holdall%图形保持

•plot(t1,y1,.-,t2,y2,.-,t3,y3,.-,t4,y4,.-,...

•t5,y5,.-,MarkerSize,20)%绘制数值解图形并设置线型、颜色和标记符号

•legend(解析解,Euler法,改进Euler方法,经典四阶Runge-Kutta法,...

•隐式Runge-Kutta法,Adams,2)

•title(微分方程的求解,fontname,隶书,fontsize,16)

•ylim([0,90])%设置y轴的坐标范围

微分方程的求解

90

解析解

80

EuEuler法

改进Euler方法

70经典四阶Runge-Kutta法

隐式Runge-Kutta法

60Adams

y1

50

2.0

5.040

11.30

25.20

56.10

0

00.511.522.533.54

t

【例9-2】求解下面的一阶微分方程组。

dy

1

1.2y−0.6yy

文档评论(0)

1亿VIP精品文档

相关文档