6.matlab在求解方程中的

上传人:z*** 文档编号:243021544 上传时间:2024-09-14 格式:PPT 页数:22 大小:266KB
返回 下载 相关 举报
6.matlab在求解方程中的_第1页
第1页 / 共22页
6.matlab在求解方程中的_第2页
第2页 / 共22页
6.matlab在求解方程中的_第3页
第3页 / 共22页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,在求解方程中的应用,许海洋,6.1,代数方程,6.2,微分方程,6.3,非线性方程求解,求多项式零点,6.4,常微分方程数值解法,6.1,代数方程,solve (f,t),功能:对变量,t,解方程,f=0,t,缺省时默认为,x,或最接近字母,x,的符号变量。,例:求解一元二次方程,f=a*x2+b*x+c,的实根,syms,a b c x,f=a*x2+b*x+c;,solve (f,x),ans,=,1/2/a*(-b+(b2-4*a*c) (1/2),1/2/a*(-b-(b2-4*a*c) (1/2),g1=x+y+z-1;,g2=x-y+z-2;,g3=2*x-y-z-1;,x,y,z=solve(g1,g2,g3),x = 2/3,y = -1/2,z = 5/6,求解方程组,6.2,微分方程,dsolve,(,eq, s1, s2, x),其中,eq,为方程;,s1,s2,为初始条件,缺省时给出含任意常数,c1,c2,的通解;,x,为自变量,缺省时默认为,t 。,例:求微分方程的通解,dsolve,(,Dy,=1+y2),ans,=,tan(t+c1),y,的一阶导数,Dy, y,的二阶导数,D2y,微分方程符号解,y =,dsolve,(,Dy,=1/(1+x2)-2*y2,y(0) = 0,x),y = 2*x/(2*x2+2),符号解:,pretty(y),y,(,x,)=,x,/ (1 +,x,2,),ezplot,(y,-6,6),syms,P t,P=,dsolve,(DP=0.02*P*(1-P/500),P(0)=76),P = 500/(1+106/19*exp(-1/50*t),ezplot,(P,0,200),pretty(P),例,P,=0.02,P,( 1, P,/500,),初始条件,:,P,(0)=76,求一元函数零点,fzero,(fun, x0),X =,fzero,(fun, x0),寻找,fun,在,x0,附近的零点,6.3,非线性方程求解,已知函数,f,(,x,),,求,x,使,f,(,x,)=0,x,y,(,k =,1,2,),例,x = tan x,f=inline(x-tan(x),x=fzero(f,3.5),x = 4.4934,求多项式零点,:,roots(p),例1,求方程,x,3, 4,x +,5 = 0,的解,P=1 0 -4 5;,roots(P),ans,=,-2.4567,1.2283 + 0.7256i,1.2283 - 0.7256i,例2,求,x,3,8,x,2,+6,x,30=0,的解,P=1 -8 6 -30;,r=roots(P),r =,7.7260,0.1370 + 1.9658i,0.1370 - 1.9658i,6.4,常微分方程数值解法,求解微分方程初值问题,在区间,t0,tf,的数值解的函数为,t,x=ode23(fun,t0,tf,x0,选项,),-2/3阶,RKF(,Runge,-,Kutta,-,Felhberg,),法,t,x=ode45(fun,t0,tf,x0,选项,),-4/5阶,RKF(,Runge,-,Kutta,-,Felhberg,),法,其中函数,fun,的编写格式如下,:,function,xdot,=fun(t,x),编写函数文件,verderpol,.m:,function,xprime,=,verderpol,(t,x),global MU,xprime,= x(2);MU*(1-x(1)2)*x(2)-x(1);,再在命令窗口中执行:,global MU,MU = 7;,Y0=1;0,t,x = ode45(,verderpol,0,40,Y0);,x1=x(:,1);x2=x(:,2);,plot(t,x1,t,x2),图形结果,例2,食饵,-,捕食者模型,其中,x(t),y(t),分别表示食饵和捕食者,t,时刻的数量。 求,r=1,d=0.5,a=0.1,b=0.02,x0=25,y0=2,时的数值解,并画出,x(t),y(t),的图形以及相图,(,x,y)。,function,xdot,=shier(t,x),r=1;d=0.5;a=0.1;b=0.02;,xdot,=,diag,(r-a*x(2),-d+b*x(1)*x;,s_b.m,ts,=0:0.1:15;,x0=25,2;,t,x=ode45(shier,ts,x0);,t,x,plot(t,x),grid,gtext(x1(t),gtext(x2(t),plot(x(:,1),x(:,2),grid,xlabel(x1),ylabel(x2),马尔萨斯,(,Malthus,),人口模型,某时刻人口数为,y,0,在以后某一时间,t,人口数,y,的变化率正比于,y,y,(,t,)=,y,0,e,r,t,MATLAB,符号求解方法,y=,dsolve,(,Dy,=r*y,t),y =C1*exp(r*t),Thomas,Malthus,(1766-1834),令,r,=,a,y,0,= exp(,b,),y,(,t,) = exp(,at + b,),a,= ?,b,= ? ,人口数据拟合实验,生物学家研究发现,战争期间捕鱼量减少,食肉鱼总数会急增,数学家将鱼分成捕食者和被捕食者,分别以,y,2,(,t,) ,y,1,(,t,),表示它们在时刻,t,的总数。假定被捕食者,(,食用鱼,),有充分的食物。,捕食者和被捕食者模型,( 0,t,15 ),y,1,(0)=20,y,2,(0)=20,t0=0;tf=15;,y0=20 20;,t,y=ode23(,lotka,t0,tf,y0);,plot(t,y(:,1),t,y(:,2),r),MATLAB,求解,:,(1),定义函数,;,(2),调用,ode23,function,yp,=,lotka,(t,y),% predator-prey model.,yp,=diag(1 - .01*y(2), -1+.02*y(1)*y;,函数文件,文件名,:,lotka,.m,捕食者,y,2,被捕食者,y,1,洛伦兹模型与,“,蝴蝶效应,”,Y-X,平面,t,0,80,x,(0)=0,y,(0)=0,z,(0)=0.01,=,8/3,=,10,=,28,y0=0;0;0.01;,x,y=ode23(,flo,0, 80,y0);,plot(y(:,2),y(:,1),function z=,flo,(t,y),A=-8/3 0 y(2);,0 -10 10;,-y(2) 28 -1;,z=A*y;,Are you ready?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!