第七章微分方程问题的解法 微分方程的解析解方法 ·微分方程问题的数值解法 微分方程问题算法概述 四阶定步长 Runge- Kutta算法及 MATLAB实现 一阶微分方程组的数值解 微分方程转换 特殊徼分方程的数值解
第七章 微分方程问题的解法 • 微分方程的解析解方法 • 微分方程问题的数值解法 –微分方程问题算法概述 –四阶定步长 Runge-Kutta算法及 MATLAB 实现 –一阶微分方程组的数值解 –微分方程转换 • 特殊微分方程的数值解
7.1微分方程的解析解方法 格式: y-dsolve(fi, f 格式:指明自变量 y=dsolve(f, f2 5…··m f即可以描述微分方程,又可描述初始条件 或边界条件。如: 描述微分方程时y4)()=7→D4y=7 描述条件时 j(2)=3→D2y(2)=3
7.1 微分方程的解析解方法 • 格式: y=dsolve(f1 , f2 , …, fm) • 格式:指明自变量 y=dsolve(f1 , f2 , …, fm ,’x’) fi即可以描述微分方程,又可描述初始条件 或边界条件。如: 描述微分方程时 描述条件时 (4) y t D y ( ) 7 4 7 = = y D y (2) 3 2 (2) 3 = =
例:输入信号为u(1)=e-51cos(2+1)+5, 求该微分方程的通解 4)(1)+10y()+35y"(+50y′()+24y()=5(+4l(0)+2( step > syms t; u=exp(-5*t)*coS(2*t+1)+5 >>uu=5*diff(u, t, 2)+4 diff(u, t)+2*u uu 87*exp(-5*1)*cO(2*计1)+92*exp(-5*t)*sin(2*t廿+1)+10 step syms t y; >>y= dsolve(D4y+10*D3y+35*D2y+50*Dy+24*y-12 87*exp(-5*1)*cOS(2*t+1)+92*Xp(-5*1)*sin(2*t+1)+10])
例: >> syms t; u=exp(-5*t)*cos(2*t+1)+5; >> uu=5*diff(u,t,2)+4*diff(u,t)+2*u uu = 87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10 >> syms t y; >> y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y=',... '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'])
y().5343-5c0s(2t+1)520s1n(2t+1)+ 5475r 12520 CIe+C 2e-3t +c 3e-2 + cae 假设已知y(0)=3,y(0)=2,y(O)=y"(O)=0 >y=dsolve(lD4y+10 D3y+35*D2y+50*Dy+24 y= 87*eXp(-5*1)*cOS(2*+1)+92*Xp(-5*)*n(2*t+1) +10,y(0)=3,"Dy(0)=2,"D2y(0=0,D3y(0=0 5343-5tcos(21+1 547 e )-e-5sin(2t+1)+ 2520 520 445 51 27 41 cos 1 SIn sin 1 26 13 30 COS 1+ 179 cos 1+-sin 1+ 133 8 8 3 30cos1≠ sin 1+19e 60
>> y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y=',... '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1) ... +10'], 'y(0)=3', 'Dy(0)=2', 'D2y(0)=0', 'D3y(0)=0')
分别处理系数,如 >>[n,d]-rat( double(vpa(-445/26*cos(1)-51/13*sin(1)-69/2)) ans 8704185%ratO最接近有理数的分数 方程的解: 5343-5 coS(2t +1) 5475t e sin(2t+1) 12520 520 8704-2243-4tx136e 5025 2981 185 254 131 判断误差: vpa(-445/26*cos(sym(1)-51/13*sin(1)-692+8704/185) ans 114731975864790922564144636e-4
分别处理系数,如: >> [n,d]=rat(double(vpa(-445/26*cos(1)-51/13*sin(1)-69/2)))] ans = -8704 185 % rat()最接近有理数的分数 判断误差: >> vpa(-445/26*cos(sym(1))-51/13*sin(1)-69/2+8704/185) ans = .114731975864790922564144636e-4