
Matlab实验报告五(微分方程求解Euler折线法).doc
4页数学与信息科学系实验报告实验名称 微分方程求解 所属课程 数学软件与实验 实验类型 综合型实验 专 业 信息与计算科学 班 级 学 号 姓 名 指导教师 一、实验概述【实验目的】 熟悉在Matlab环境下求解常微分方程组和偏微分方程组的方法,掌握利用Matlab软件进行常微分方程组和偏微分方程组的求解。
实验原理】 1.dsolve(‘equ1’,’equ2’,...):matlab求微分方程的解析解2. simplify(s):对表达式S使用MAPLE的化简规则进行化简3. [x,y]=dslove(‘方程1’,‘方程2’,...‘初始条件1’‘初始条件2’,..’自变量’):用字符串方程表示,自变量缺省值为t.4. ezplot(x,y,[tmin,tmax]):符号函数的作图命令实验环境】 MatlabR2010b二、实验内容问题1. 求微分方程组在初始条件下的解,并画出函数的图像. 1.分析问题本题是根据初始条件求微分方程组的特解,并根据t的范围画出函数的图形2.问题求解syms x y t[x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')x=simple(x)y=simple(y)ezplot(x,y,[0,0.5]);axis auto3.结果x =exp(2^(1/2)*t)/2 + 1/(2*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4 + 2^(1/2)/(4*exp(2^(1/2)*t))y =2^(1/2)/(4*exp(2^(1/2)*t)) - (2^(1/2)*exp(2^(1/2)*t))/4x =cosh(2^(1/2)*t) - (2^(1/2)*sinh(2^(1/2)*t))/2y =-(2^(1/2)*sinh(2^(1/2)*t))/24.结论及分析通过实验,结论正确,证明分析无误。
问题2. 用Euler折现法求解常微分方程的数值解(步长),求解范围,并作出去图像. 1.分析问题本题是用Euler折线法根据已知条件求解微分方程组的数值解,并作出它的图形2.问题求解clearf=sym('y-12*x^2/y^3');a=0;b=2;h=0.001;n=(b-a)/h+1;x=0;y=1;szj=[x,y];for i=1:n-1 y=y+h*subs(f,{'x','y'},{x,y}); x=x+h; szj=[szj;x,y];endSzj;plot(szj(:,1),szj(:,2))3.结果4.结论及分析通过实验,结论正确,证明分析无误三、实验小结 这次实验说实话不是很难,因为这两个题型老师在课堂上已经讲得很清楚了,再说课本上还有类试题型,所以很轻松地做出来了。












