下载此文档

用 Matlab 求解微分方程.ppt


文档分类:高等教育 | 页数:约29页 举报非法文档有奖
1/29
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/29 下载此文档
文档列表 文档介绍
用 Matlab 求解微分方程
借助 Matlab 软件,可以方便地求出微分方程(组)的解析解和数值解。
用 Matlab 求解微分方程
微分方程(组)的解析解
求微分方程(组)解析解的命令为
dsolve(‘eqn1’, ‘eqn2’, ..., ‘x’)
其中“eqni”表示第 i 个方程,“x”表示微分方程(组)中的自变量,默认时自变量为 t。此外,在“eqni”表示的方程式中,用 D 表示求微分,D2、D3 等表示求高阶微分,任何 D 后所跟的字母表示因变量。
用 Matlab 求解微分方程
例 求解一阶微分方程 dy/dx = 1 + y2。
求通解
输入:dsolve(‘Dy=1+y^2’, ‘x’)
输出:ans = tan(x+C1)
求特解
输入:dsolve(‘Dy=1+y^2’, ‘y(0)=1’, ‘x’)
输出:ans = tan(x+1/4*pi)
用 Matlab 求解微分方程
例 求解下列微分方程的通解及 y(0) = 0 和
y (0) = 15 条件下的特解
求通解
输入:y=dsolve('D2y+4*Dy+29*y=0', 'x')
输出:y = C1*exp(-2*x)*sin(5*x)+C2*exp(-2*x)*cos(5*x)
求特解
输入:y=dsolve('D2y+4*Dy+29*y=0', 'y(0)=0, Dy(0)=15', 'x')
输出:y = 3*exp(-2*x)*sin(5*x)
用 Matlab 求解微分方程
例 求解下列微分方程组
用 Matlab 求解微分方程
求通解
方式一
输入:
[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x
-5*y+3*z','Dz=4*x-4*y+2*z', 't');
输出:x = C2*exp(-t)+C3*exp(2*t)
y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1
z = C3*exp(2*t)+exp(-2*t)*C1
用 Matlab 求解微分方程
方式二
输入:[x,y,z]=dsolve('Dx=2*x-3*y+3*z','Dy=4*x
-5*y+3*z','Dz=4*x-4*y+2*z', 't');
x=simple(x) % 将x化简
y=simple(y)
z=simple(z)
输出:x = C2/exp(t)+C3*exp(t)^2
y = C2*exp(-t)+C3*exp(2*t)+exp(-2*t)*C1
z = C3*exp(2*t)+exp(-2*t)*C1
用 Matlab 求解微分方程
求特解
输入:[x,y,z]=dsolve('Dx=2*x-3*y+3*z',
'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z',
'x(0)=0', 'y(0)=1', 'z(0)=2', 't');
x=simple(x) % 将x化简
y=simple(y)
z=simple(z)
输出:x = exp(2*t)-exp(-t)
y = exp(2*t)-exp(-t)+exp(-2*t)
z = exp(2*t)+exp(-2*t)
用 Matlab 求解微分方程
微分方程(组)的数值解
事实上,能够求得解析解的微分方程或微分方程组少之又少,多数情况下需要求出微分方程(组)的数值解。
Matlab中求微分方程数值解的函数有五个:ode45,ode23,ode113,ode15s,ode23s。调用格式为
[t, x] = solver (‘f’, ts, x0, options)
用 Matlab 求解微分方程
需要特别注意的是:
① solver 可以

用 Matlab 求解微分方程 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息