MATLAB实验报告_常微分方程数值解
矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。
如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。
㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。
(2 列出开发利用方案编制所依据的主要基础性资料的名称。
如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。
对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。
二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。
2、国内近、远期的需求量及主要销向预测。
㈡产品价格分析
1、国内矿产品价格现状。
2、矿产品价格稳定性及变化趋势。
三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。
2、矿区矿产资源概况。
3、该设计与矿区总体开发的关系。
㈡该设计项目的资源概况
1、矿床地质及构造特征。
2、矿床开采技术条件及水文地质条件。
用matlab对微分方程求解实验报告.
o 《高等数学》上机作业(三一、上机目的1、学会用 M a t l a b 求简单微分方程的解析解。
2、学会用 M a t l a b 求微分方程的数值解。
二、上机内容1、求简单微分方程的解析解.2、求微分方程的数值解.3、数学建模实例.4、上机作业. 三、上机作业1. 求微分方程:在初值条件下的特解,并画出解函数的图形. 命令>> y =d s o l v e ('x *D y +y -e x p (x =0','y (1=2*e x p (1','x ' 运行结果:y = 1/x *e x p (x +1/x *e x p (1'xxy y e +-=12(y e =函数图象:2. 求微分方程的特解.22450(00,'(110d y dyy dx dx y y ?+-=???==?命令>> y=dsolve('D2y+4*Dy-5*y=0','y(0=0,Dy(1=10','x' 运行结果:y=10/(exp(1+5*exp(-5*exp(x-10/(exp(1+5*exp(-5*exp(-5*x3. 鱼雷追击问题一敌舰在某海域内沿着正北方向航行时,我方战舰恰好位于敌舰的正西方向 1 公里处.我舰向敌舰发射制导鱼雷,敌舰速度为0.42 公里/分,鱼雷速度为敌舰速度的2倍。
试问敌舰航行多远时将被击中?M文件x0=0; xf=0.9999999999999; [x,y]=ode15s('eq1',[x0 xf],[0 0]; plot(x,y(:,1,'b.'hold on;y=0:0.1:1;plot(1,y, '*'运行结果图像:结论:大概在y=0.67处击中敌方舰艇!(选做一个慢跑者在平面上沿椭圆以恒定的速率v=1跑步,设椭圆方程为:x=10+20cost, y=20+5sint. 突然有一只狗攻击他. 这只狗从原点出发,以恒定速率w跑向慢跑者,狗的运动方向始终指向慢跑者.分别求出w=20,w=5时狗的运动轨迹.W=20M文件代码function dy=eq3(t,ydy=zeros(2,1;dy(1=20*(10+20*cos(t-y(1/sqrt((10+20*cos(t-y(1^2+(2 0+15*sin(t-y(2^2;dy(2=20*(20+15*sin(t-y(2/sqrt((10+20*cos(t-y(1^2+(2 0+15*sin(t-y(2^2;运行命令t0=0;tf=10;[t,y]=ode45('eq3',[t0 tf],[0 0];T=0:0.1:2*pi;X=10+20*cos(T;Y=20+15*sin(T;plot(X,Y,'-'hold onplot(y(:,1,y(:,2,'r*'运行结果:利用二分法更改tf tf=5时tf=2.5时tf=3.15时:所以在t=3.15时刻恰好追上!W=5M文件代码function dy=eq4(t,ydy=zeros(2,1;dy(1=5*(10+20*cos(t-y(1/sqrt((10+20*cos(t-y(1^2+(20 +15*sin(t-y(2^2; dy(2=5*(20+15*sin(t-y(2/sqrt((10+20*cos(t-y(1^2+(20 +15*sin(t-y(2^2; 命令:t0=0;tf=10;[t,y]=ode45('eq4',[t0 tf],[0 0]; T=0:0.1:2*pi;X=10+20*cos(T; Y=20+15*sin(T; plot(X,Y,'-'hold onplot(y(:,1,y(:,2,'*' 运行结果更改tf=20运行结果Tf=40 11所以永远追不上!四、上机心得体会高等数学是工科学生的主干科目,它应用于生产生活的方方面面,通过建模,计算可以求出实际问题的最优化问题!因此我们需要掌握建模和利用专业软件处理实际问题的能力! 12。
实验二 MATLAB数值计算_常微分方程(组)的求解
y ( n ) = f (t , y' , y" , ⋯, y ( n −1 ) )
(2)
设 y1 = y, y2 = y ', y3 = y '',...., yn = y( n −1) ,可将上式化为 n 元一阶常微分方程组:
⎧ y1 ' = y 2 ⎪ y '= y 2 3 ⎪ ⎪ ⎨⋯ ⎪ y' = y n ⎪ n −1 ⎪ y ' = f ( t , y1 , y 2 ,⋯ , y n ) ⎩ n
方程(4)式要有确定的解必须给定初值条件(t0 为初始时刻):
⎛ y10 ⎞ ⎜y ⎟ y0 = y ( t0 ) = ⎜ 20 ⎟ (7) ⎜ ⋮ ⎟ ⎟ ⎜ ⎝ y n0 ⎠
所谓数值解法, 就是在求解区间[t0 ,tf ]上寻求 y (t)在一系列离散节点 t 0 < t 1 < t 2 < ⋯ < t m ≤ t f 上的近似值 y ( t k ), k = 0,1,..., m 。称 hk = t k +1 − t k 为步长,通常取为常量 h。最简单的数 值解法是 Euler 方法。 Euler 法的思路极其简单:在节点处用差商近似代替(4)式中的导数
值,即 f1 , f2 ,…, fn 。故 odefun 函数的返回值一般是列向量,其最简单的编写格式为: F = odefun (t, y) t y F 为标量(自变量) ,代表迭代点(迭代的当前时刻,如 t0 , t1 等) 列向量(见 5 式), 因计算 t 时刻的函数表达式 F 需要知道该时刻的 y 值, 见式(8) 返回值,代表 t 时刻微分方程组右边的函数值,为列向量(见 6 式) 。有了向量 F 后,若再给出初始条件,根据(8)或(9)式就可迭代出方程的解。 求解器在计算时将会不断地在各个时刻调用 odefun 的值。此外,MATLAB 还专门提供了一 个 ode 函数的编写模板,给出了该函数的详细编写格式,可使用命令 : open odefile.m 打开, 附录 2 给出了 ode 函数模板的中文说明。 tspan 指定积分迭代的区间 [t0 , tf ],t0 是迭代的初始时刻。 (i). 若 tspan = [ t0, tf] 为 2
MATLAB实验报告_常微分方程数值解
专业 序号 姓名 日期实验3 常微分方程数值解【实验目的】1.掌握用MATLAB 求微分方程初值问题数值解的方法;2.通过实例学习微分方程模型解决简化的实际问题;3.了解欧拉方法和龙格库塔方法的基本思想。
【实验内容】用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解,画出解的图形,对结果进行分析比较22'2,(1)(01),322;(0)1',(2)(010).(0)0(0)1x y y x x y e x y y x y x y y =+⎧≤≤=--⎨=⎩⎧=-≤≤⎨==⎩精确解或【解】:手工分析怎样求解【计算机求解】:怎样设计程序流程图变量说明能否将某算法设计成具有形式参数的函数形式【程序如下】:function f=f(x,y)f=y+2*x;clc;clear;a=0;b=1; %求解区间[x1,y_r]=ode45('f',[a b],1); %调用龙格库塔求解函数求解数值解;%% 以下利用Euler 方法求解y(1)=1;N=100;h=(b-a)/N;x=a:h:b;for i=1:Ny(i+1)=y(i)+h*f(x(i),y(i));endfigure(1)plot(x1,y_r,'r*',x,y,'b+',x,3*exp(x)-2*x-2,'k-');%数值解与真解图 title('数值解与真解图');legend('RK4','Euler','真解');xlabel('x');ylabel('y');figure(2)plot(x1,abs(y_r-(3*exp(x1)-2*x1-2)),'k-');%龙格库塔方法的误差title('龙格库塔方法的误差')xlabel('x');ylabel('Error');figure(3)plot(x,abs(y-(3*exp(x)-2*x-2)),'r-')%Euler 方法的误差title('Euler 方法的误差')xlabel('x');ylabel('Error');【运行结果如下】:【结果分析】:龙格库塔方法和Euler方法求解常微分方程都能获得比较好的数值解,相比较而言龙格库塔方法的数值解的精度远远要比Euler方法的数值解的精度高。
常微分matlab实验报告
数学与信息科学系实训报告常微分方程初值问题数值解法及其MATLAB实现姓名:学号:专业:信息与计算科学年级:2010级指导教师:朱耀生完成时间:2013年11月25—2013年12月6实验目的:(1)研究满足给定方程的可微函数的数值方法(2)培养matlab编程和上机调试能力实验基本原理和内容:根据给定的初始条件,确定常微分方程惟一解的问题叫常微分方程初值问题。
大多数实际问题难以求得解析解,必须将微分问题离散化,用数值方法求其近似解。
一阶常微分方程的初值问题的提法是,求出函数,使满足条件(1)利用数值方法解问题(1)时,通常假定解存在且惟一,解函数及右端函数具有所需的光滑程度。
数值解法的基本思想是:先取自变量一系列离散点,把微分问题(1)离散化,求出离散问题的数值解,并以此作为微分问题解的近似。
例如取步长>0,以剖分区间[,],令=+,把微分方程离散化成一个差分方程。
以()表微分方程初值问题的解,以表差分问题的解,就是近似解的误差,称为全局误差。
因此,设计各种离散化模型,求出近似解,估计误差以及研究数值方法的稳定性和收敛性等构成了数值解法的基本内容1.欧拉法和后退欧拉法原理:function [x,y]=meuler(df,xspan,y0,h)%用途:改进欧拉公式解常微分方程y'=f(x,y), y(x0)=y0%格式:[xy]=meuler(df,a,b,y0,h) df为函数f(x,y), xspan为求解%区间[x0,xn], y0为初值y(x0), h为步长, [xy]返回节点和数值解矩阵x=xspan(1):h:xspan(2); y(1)=y0;for n=1:(length(x)-1)k1=feval(df,x(n),y(n));y(n+1)=y(n)+h*k1;k2=feval(df,x(n+1),y(n+1));y(n+1)=y(n)+h*(k1+k2)/2;end例题给定的初值问题y′=-y+x+2,0=<x=<1Y(0)=-1,取精确解y(x)=exp(-x)+x后退欧拉法,步长h=0.003, h=0.1求在节点k=1+0.1k (k=1,2,3……10)处的数值解若>>h=0.1;y=-1;x=1;for i=1:20k1=h*oulei_wf(x,y);k2=h*oulei_wf(x+h,y+k1);y=y+0.5*k1+0.5*k2x=x+h;z=ouleij_q(x)t=y-zendz = 4,z = 3.7000,y = -0.6150z = 1.4329, z =1.4329, t = -2.0479 z =3.7150, z =3.4435, y = -0.2571 z =1.5012, z =1.5012, t =-1.7583 z =3.4571, z = 3.2114, y =0.0763 z =1.5725, z =1.5725, t =-1.4962 z =3.2237, z = 3.0013, y =0.3876 z =1.6466, z =1.6466, t =-1.2590 z =3.0124,z =2.8112,y =0.6788z =1.7231,z =1.7231,t =-1.0444 z =2.8212,z = 2.6391,y =0.9518 z =1.8019,z =1.8019,t =-0.8501z = 2.6482,z =2.4834,y =1.2084z =1.8827,z =1.8827, t =-0.6743z =2.4916,z =2.3425, y =1.4501z =1.9653,z =1.9653, t =-0.5152实验结果的分析与研究1.对于欧拉法,步长越小,精度越高,而产生的误差越小。
matlab常微分方程的数值解法实验报告
实验四常微分方程的数值解法 指令:[t,y]=ode23(‘fun ’,tspan,yo) 2/3阶龙格库塔方法 [t,y]=ode45(‘fun ’,tspan,yo) 4/5阶龙格库塔方法 [t,y]=ode113(‘fun ’,tspan,yo) 高阶微分方程数值方法其中fun 是定义函数的文件名。
该函数fun 必须以为dx 输出量,以t,y 为输入量。
tspan=[t0 tfina]表示积分的起始值和终止值。
yo 是初始状态列向量。
考虑到初始条件有00d , (0)0,d d , (0)0.d SSI S S tI SI I I I tββμ⎧=-=>⎪⎪⎨⎪=-=≥⎪⎩ (5.24) 这就是Kermack 与McKendrick 的SIR 仓室模型. 方程(5.24)无法求出()S t 和()I t 的解析解.我们先做数值计算。
Matlab 代码为:function dy=rigid(t,y) dy=zeros(2,1); a=1; b=0.3;dy(1)=a*y(1).*y(2)-b*y(1); dy(2)=-a*y(1).*y(2);ts=0:.5:50; x0=[0.02,0.98];[T,Y]=ode45('rigid',ts,x0); %plot(T,Y(:,1),'-',T,Y(:,2),'*') plot(Y(:,2),Y(:,1),'b--') xlabel('s') ylabel('i')任务:1 画出i (t ),2分析各参数的影响例57:求解两点边值问题:0)5(,0)1(,32==='-''y y x y y x 。
(注意:相应的数值解法比较复杂)。
y=dsolve('x*D2y-3*Dy=x^2','y(1)=0,y(5)=0','x') ↙ y =-1/3*x^3+125/468+31/468*x^4例:用数值积分的方法求解下列微分方程 π21''2t y y -=+设初始时间t0=0;终止时间tf=3*pi ;初始条件0|',0|00====x x y y 。
MATLAB常微分方程的数值解法
MATLAB常微分⽅程的数值解法MATLAB常微分⽅程的数值解法⼀、实验⽬的科学技术中常常要求解常微分⽅程的定解问题,所谓数值解法就是求未知函数在⼀系列离散点处的近似值。
⼆、实验原理三、实验程序1. 尤拉公式程序四、实验内容选⼀可求解的常微分⽅程的定解问题,分别⽤以上1, 4两种⽅法求出未知函数在节点处的近似值,并对所求结果与分析解的(数值或图形)结果进⾏⽐较。
五、解答1. 程序求解初值问题取n=10源程序:euler23.m:function [A1,A2,B1,B2,C1,C2]=euler23(a,b,n,y0)%欧拉法解⼀阶常微分⽅程%初始条件y0h = (b-a)/n; %步长h%区域的左边界a%区域的右边界bx = a:h:b;m=length(x);%前向欧拉法y = y0;for i=2:my(i)=y(i-1)+h*oula(x(i-1),y(i-1));A1(i)=x(i);A2(i)=y(i);endplot(x,y,'r-');hold on;%改进欧拉法y = y0;for i=2:my(i)=y(i-1)+h/2*( oula(x(i-1),y(i-1))+oula(x(i),y(i-1))+h*(oula(x(i-1),x(i-1))));B1(i)=x(i);B2(i)=y(i);endplot(x,y,'m-');hold on;%欧拉两步公式y=y0;y(2)=y(1)+h*oula(x(1),y(1));for i=2:m-1y(i+1)=y(i-1)+2*h*oula(x(i),y(i));C1(i)=x(i);C2(i)=y(i);endplot(x,y,'b-');hold on;%精确解⽤作图xx = x;f = dsolve('Dy=-3*y+8*x-7','y(0)=1','x');%求出解析解y = subs(f,xx); %将xx代⼊解析解,得到解析解对应的数值plot(xx,y,'k--');legend('前向欧拉法','改进欧拉法','欧拉两步法','解析解');oula.m:function f=oula(x,y)f=-3*y+8*x-7;2. 运算结果A1,A2为前向欧拉法在节点处的近似值,B1,B2为改进的欧拉法在节点处的近似值,C1,C2为欧拉公式法在节点处的近似值。
matlab求微分方程的解 实验报告四
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
matlab求微分方程的解-实验报告四
matlab求微分方程的解-实验报告四《matlab与数学实验》实验报告实验序号:实验四日期: 2015年 5 月 25 日班级132132002姓名彭婉婷学号 1321320057 实验名称求微分方程的解问题背景描述实际应用问题通过数学建模所归纳而得到的方程,绝大多数都是微分方程,另一方面,能够求解的微分方程也是十分有限的,特别是高阶方程和偏微分方程(组).这就要求我们既要研究微分方程(组)的解析解法(精确解),更要研究微分方程(组)的数值解法(近似解).实验目的本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍 Euler 折线法.实验原理与数学模型MATLAB7.11.0主要内容(要点)1. 求微分方程0sin2')1(2=-+-xxyyx的通解.2. 求微分方程xeyyy x sin5'2''=+-的通解.3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++yxdtdyyxdtdx在初始条件0|,1|====ttyx下的特解,并画出解函数()y f x=的图形.4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t∈.利用画图来比较两种求解器之间的差异.5. 用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=-=1)0(,12'32yyxyy的数值解(步长h取0.1),求解范围为区间[0,2].选做:6. 用四阶 Runge-Kutta 法求解微分方程初值问题⎩⎨⎧=-=1)0(,cos'yxeyy x的数值解(步长h取0.1),求解范围为区间[0,3].迭代法实验过程记录(含基本步骤、主要程序清单及异常情况记录等)1.求微分方程0sin2')1(2=-+-xxyyx的通解.程序:clearsyms x yy=dsolve('(x^2-1)*Dy+2*x*y=sin(x)','x') 答案:y =-(C2 + cos(x))/(x^2 - 1)2.求微分方程xeyyy x sin5'2''=+-的通解.程序:clearsyms x yy=dsolve('D2y-2*Dy+5*y=exp(x)*sin(x)','x ')simplyify(x/y)weijiao答案:y =(exp(x)*sin(x))/6 - (sin(3*x)*exp(x))/8 + (sin(5*x)*exp(x))/24 + C4*cos(2*x)*exp(x) + sin(2*x)*exp(x)*(cos(x)/4 - cos(3*x)/12 + 1/6) + C5*sin(2*x)*exp(x)3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++00y x dt dy y x dt dx在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形.程序:clearsyms x y t[x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')ezplot(x,y,[0, 1])(t 的取值,t 是与x,y 相关的,如果不给范围,则会默认为一个较大的区间) simplify(x)simplify(y)答案: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))/4图形:4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为t .利用画图来比较两种求解器之间的差异.[0,2]先编写函数文件verderpol.m:clearfunction xprime=verderpol(t,x)xprime=[-x(1)-x(2); x(2)-x(1)];再编写命令文件cleary0=[1;0];[t,x] = ode45('verderpol',[0,2],y0);x1=x(:,1);x2=x(:,2);plot(x1,x2,'b-')hold ony0=[1;0];[t,x]=ode23('verderpol',[0,2],y0);x1=x(:,1);x2=x(:,2);plot(x(:,1),x(:,2),'r-');图形:两种求解器之间的差异:ode45大部分场合的首选算法ode23使用于精度较低的情形但在此题中并没有体现出差异。
MATLAB实验4-微分方程求解分析
subplot(1,3,2);plot(sol.y(1,:));hold on;
subplot(1,3,3) plot(sol.y(2,:));
其中,x,f是n维向量,A是n阶矩阵。 k 为A的特征 根。称
max | Re(k ) | s min | Re(k ) |
为刚性比,s>10的方程可认为是刚性方程。
MATLAB中求解刚性方程的命令ode23s,ode15s等, 其用法与ode23,ode45相同。略。 2、延迟微分方程求解 延迟微分方程的一般形式为
(t ) f (t , x(t 1 ), x(t 2 ),, x(t n )) x
MATLAB提供了求解这类方程的隐式Runge-Kutta算 法dde23(), 可以直接求解延迟微分方程。该函数调 用格式为:
sol=dde23(f1,tau,f2,[t0,tf])
其中tau=[tau1,tau2,…,taun],f1为描述延 迟微分方程的 MATLAB语言函数,f2为描 述 t<=t0 时状态变量值的函数。该函数返 回的变量 sol 为结构体数据,其 sol.x 成员 变量为时间 t ,成员 sol.y 为各个时刻的源自 态向量构成的矩阵x。实验4
实验名称:微分方程求解 实验目的:熟悉并掌握常微分方程数值求解的基 本原理、方法;掌握常微分方程模型的MATLAB 解析解法与数值解法。
实验任务: 1、P139,习题6 2、P140,习题13.
附录一:基于MATLAB的微分方程求解
一、微分方程的解析运算
1、函数求导的解析运算
y=diff(fun,x)
则:
y=dsolve('D4y+10*D3y+35*D2y+50*Dy+24*y=uu','y( 0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0')
实验二MATLAB数值计算常微分方程的求解
实验二MATLAB数值计算常微分方程的求解引言:微分方程是描述物理问题和工程问题的重要工具,也是数学和工程学科中的重要课题。
解析方法可以求得一些简单微分方程的解析解,但对于复杂问题,常常无法得到解析解。
此时,数值求解方法成为一种有效的工具。
MATLAB是一个功能强大的数值计算软件,对于求解常微分方程组也提供了多种数值方法。
本实验将介绍MATLAB中求解常微分方程(组)的方法,并通过实例来演示这些方法的应用。
一、MATLAB的常微分方程(组)求解函数MATLAB提供了多种函数用于求解常微分方程(组),其中最常用的函数是ode45、ode23和ode15s。
这些函数采用不同的数值方法,精度和效率也不同。
下面分别对这些函数进行简单介绍:1. ode45函数:ode45函数采用了一种自适应的步长控制算法,可以在一个时间段内自动调整步长。
这个函数的语法是:[t,y] = ode45(odefun,tspan,y0,options)其中,odefun是一个函数句柄,表示待解的常微分方程组,tspan是求解区间,y0是初始条件,options是一个结构体,包含其他的参数和选项。
2. ode23函数:ode23函数也采用了自适应的步长控制算法,但相对于ode45,它是一个简化版本,只允许使用比较简单的问题。
这个函数的语法与ode45相似:[t,y] = ode23(odefun,tspan,y0,options)3. ode15s函数:ode15s函数采用了一种隐式数值方法,适用于比较刚性(stiff)的常微分方程。
这个函数的语法与前两个函数也相似:[t,y] = ode15s(odefun,tspan,y0,options)以上是MATLAB提供的三种解常微分方程(组)的函数,根据问题的特点和求解的需求选择相应的函数。
二、实例演示在本实验中,我们将通过一个实例来演示如何使用MATLAB解常微分方程组。
假设有一个简单的线性常微分方程组:dy1/dt = -2y1 + y2dy2/dt = y1 - 2y2给定初始条件为y1(0)=1,y2(0)=0,求在t=[0,5]时,y1和y2的解。
