朋友问题: 有微分方程如下:
m d 2 y d t 2 + d y d t e x p ( t ) − y 2 = 5 m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y+dtdyexp(t)−y2=5
其中,y ( t = 0 ) = 1 y(t=0)=1y(t=0)=1,d y / d t ( t = 0 ) = − 10 dy/dt (t=0) = -10dy/dt(t=0)=−10。
请在区间[ 0 , 5 ] [0, 5][0,5]内绘制两个子图,分别为d y / d t dy/dtdy/dt与y yy,每个子图涵盖m = 1 m=1m=1与m = 2 m=2m=2两种情况。
所以本题的核心问题在于:用数值计算的方法求解该方程,得到各点,绘制点图。
使用 matlab 自带的 ode45 ,方程组用句柄表示。
ode45 参见教程:如何使用ODE45
首先把题目方程转换,转换为 ode45 能理解的方式。
先声明变量:
y 1 = y y 2 = y ′ \begin{aligned} y_1 & = y \\ y_2 & = y' \\ \end{aligned}y1y2=y=y′
于是整理方程:
y 1 ′ = y 2 y 2 ′ = 1 m ( 5 − y 1 ′ e y 1 + y 1 2 ) \begin{aligned} y_