实验二微分方程与差分方程模型matlab求解

实验二微分方程与差分方程模型matlab求解

ID:19209771

大小:280.50 KB

页数:14页

时间:2018-09-27

实验二微分方程与差分方程模型matlab求解_第1页
实验二微分方程与差分方程模型matlab求解_第2页
实验二微分方程与差分方程模型matlab求解_第3页
实验二微分方程与差分方程模型matlab求解_第4页
实验二微分方程与差分方程模型matlab求解_第5页
资源描述:

《实验二微分方程与差分方程模型matlab求解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验二:微分方程与差分方程模型Matlab求解一、实验目的[1]掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;[2]熟悉MATLAB软件关于微分方程求解的各种命令;[3]通过范例学习建立微分方程方面的数学模型以及求解全过程;[4]熟悉离散Logistic模型的求解与混沌的产生过程。二、实验原理1.微分方程模型与MATLAB求解解析解用MATLAB命令dsolve(‘eqn1’,’eqn2’,...)求常微分方程(组)的解析解。其中‘eqni'表示第i个微分方程,Dny表示y的n阶导数,默认的自变量为t。(1)微分方程例

2、1求解一阶微分方程   (1)求通解输入:dsolve('Dy=1+y^2')输出:ans=tan(t+C1)(2)求特解输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x输出:ans=tan(x+1/4*pi)例2求解二阶微分方程原方程两边都除以,得输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans=-(exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2)+(exp(x*i)*exp

3、(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify函数化简输入:simplify(ans)ans=2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3求解    df/dx=3f+4g; dg/dx=-4f+3g。(1)通解:  [f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g')f=exp(3*t)*(C1*sin(4*t)+C2*cos(4*t))g=exp(3*t)*(C1*cos(4*t)-C2*sin(4*t))

4、特解:[f,g]=dsolve('Df=3*f+4*g','Dg=-4*f+3*g','f(0)=0,g(0)=1')f=exp(3*t)*sin(4*t)g=exp(3*t)*cos(4*t)数值解在微分方程(组)难以获得解析解的情况下,可以用Matlab方便地求出数值解。格式为:[t,y]=ode23('F',ts,y0,options)注意:Ø微分方程的形式:y'=F(t,y),t为自变量,y为因变量(可以是多个,如微分方程组);Ø[t,y]为输出矩阵,分别表示自变量和因变量的取值;ØF代表一阶微分方程组的函数名(m文件,必须返回

5、一个列向量,每个元素对应每个方程的右端);Øts的取法有几种,(1)ts=[t0,tf]表示自变量的取值范围,(2)ts=[t0,t1,t2,…,tf],则输出在指定时刻t0,t1,t2,…,tf处给出,(3)ts=t0:k:tf,则输出在区间[t0,tf]的等分点给出;Øy0为初值条件;Øoptions用于设定误差限(缺省是设定相对误差是10^(-3),绝对误差是10^(-6));ode23是微分方程组数值解的低阶方法,ode45为中阶方法,与ode23类似。例4求解一个经典的范得波(VanDerpol)微分方程:解形式转化:令。则以

6、上方程转化一阶微分方程组:。编写M文件如下,必须是M文件表示微分方程组,并保存,一般地,M文件的名字与函数名相同,保存位置可以为默认的work子目录,也可以保存在自定义文件夹,这时注意要增加搜索路径(FileSetPathAddFolder)   function dot1=vdpol(t,y);   dot1=[y(2);(1-y(1)^2)*y(2)-y(1)];在命令窗口写如下命令:[t,y]=ode23('vdpol',[0,20],[1,0]);y1=y(:,1);y2=y(:,2);plot(t,y1,t,y2,'--'

7、);title('VanDerPolSolution');xlabel('Time,Second');ylabel('y(1)andy(2)')执行:注:VanderPol方程描述具有一个非线性振动项的振动子的运动过程。最初,由于它在非线性电路上的应用而引起广泛兴趣。一般形式为。图形解无论是解析解还是数值解,都不如图形解直观明了。即使是在得到了解析解或数值解的情况下,作出解的图形,仍然是一件深受欢迎的事。这些都可以用Matlab方便地进行。(1)图示解析解如果微分方程(组)的解析解为:y=f(x),则可以用Matlab函数fplot作出

8、其图形:fplot('fun',lims)其中:fun给出函数表达式;lims=[xminxmaxyminymax]限定坐标轴的大小。例如fplot('sin(1/x)',[0.010.1-11])(2)图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。