用MATLAB求解常微分方程实验报告
实验五 利用Matlab求解常微分方程(组)的实验报告
学院:数计学院 班级:1003班 姓名:黄晓丹 学号:1051020144
一.实验目的:
熟悉Matlab软件中关于求解常微分方程的各种命令. 掌握利用Matlab软件进行常微分方程的求解。 二.相关知识
在MATLAB中,由函数dsolve()解决常微分方程(组)的求解问题,其具体格式如下:
X=dsolve(‘eqn1’,’eqn2’,…)
函数dsolve用来解符号常微分方程、方程组,如果没有初始条件,则求出通解,如果有初始条件,则求出特解.
用字符串方程表示,自变量缺省值为t。导数用D表示,2阶导数用D2表示,以此类推。S返回解析解。在方程组情形,s为一个符号结构。 *tout,yout+=ode45(‘yprime’,*t0,tf+,y0) 采用变步长四阶Runge-Kutta法和五阶Runge-Kutta-Felhberg法求数值解,yprime是用以表示f(t,y)的M文件名,t0表示自变量的初始值,tf表示自变量的终值,y0表示初始向量值。输出向量tout表示节点(t0,t1, …,tn),输出矩阵yout表示数值解,每一列对应y的一个分量。若无输出参数,则自动作出图形. 三.实验内容:
例1 求下列微分方程的解析解
(1)y' ay b
(2)y'' sin(2x) y,y(0) 0,y'(0) 1 (3)
f' f g,g' g f,f'(0) 1,g'(0) 1
T
方程(1)求解的MATLAB代码为:
>>clear;
>>s=dsolve('Dy=a*y+b')
结果为
s =-b/a+exp(a*t)*C1
方程(2)求解的MATLAB代码为:
>>clear;
>>s=dsolve('D2y=sin(2*x)-y','y(0)=0','Dy(0)=1','x') >>simplify(s) %以最简形式显示s
结果为
s =(-1/6*cos(3*x)-1/2*cos(x))*sin(x)+(-1/2*sin(x)+1/6*sin(3*x))*cos(x)+5/3*sin(x) ans =-2/3*sin(x)*cos(x)+5/3*sin(x) 方程(3)求解的MATLAB代码为:
你可能喜欢
- 微分方程数值解法
- MATLAB实验报告
- matlab求解微分方程
- 人口增长模型
- LU分解法
- 改进欧拉法
- 常微分方程的数值解法3页
- 非线性电路--微分方程数值解法19页
- 第八章 常微分方程数值解法考试必备27页
- 大学数值计算方法(第6章 常微分方程数值解法)76页
- 第九章.常微分方程初值问题数值解法45页
- 常微分方程数值解法2页
- MATLAB的基本操作实验报告12页
- MATLAB课后实验报告三5页
- MATLAB实验报告7页
- 实验报告(一)MATLAB 基础操作4页
- MATLAB6.1实验报告3页
- MATLAB课后上机实验报告29页
- matlab关于偏微分方程的求解方法6页
- matlab常微分方程和常微分方程组的求解3页
- 二阶椭圆偏微分方程实例求解(附matlab代码)13页
- 微分方程的matlab求解44页
- 微分方程的matlab求解44页
- matlab求解常微分方程46页
- 中国人口增长预测模型25页
- 人口增长模型综述4页
- 关于中国人口增长趋势的预测模型第一组12页
- 人口增长模型18页
- 中国人口增长预测模型9页
- 数学建模-人口增长模型7页
- LU分解法4页
- LU分解法3页
- LU分解法求解线性方程组5页
- LU分解法1页
- LU分解法7页
- 数值计算LU分解法报告6页


