武汉大学《MATLAB基础与应用》课件-第4章方程与微分方程.pptxVIP

  • 1
  • 0
  • 约2.17千字
  • 约 32页
  • 2023-07-15 发布于江苏
  • 举报

武汉大学《MATLAB基础与应用》课件-第4章方程与微分方程.pptx

第四章 方程与微分方程;一、 代数方程的求根 1.多项式求根 (1)matlab中的多项式是用行向量表示,如:p=[2,3,-1,4,5];(3)polyder(p) 求多项式p的导数。;2.求方程根符号解 sovle函数;如:解方程组;3. 求方程根的数值解 大多数非线性方程的求根问题非常困难,通常需要求方程的数值根。 常用求数值解的方法有:二分法、不动点迭代法、牛顿迭代法、牛顿下山法、割线法等。 (1)求方程数值解的函数fzero格式:fzero(f,x0) 功能:求方程f=0在x0附近的一个根;例4.1 求方程函数sin(x+1)-0.2x=0的根。;(2)求非线性方程(组)数值解的函数fsolve格式:fsolve(f,x0) (x0为初值);1, -1 0.5,-3 -0.5,-3 -1, 0 -0.8, 3 -1.2, 4;function f=fun402(x) f1=5*x.^2+y.^2.*sin(y)-3; f2=1*y.^2+10*cos(x.*y)+4*x+2*y-7; f=[f1;f2];将求得的根标注在图形上,观察是否正确 h1=ezplot(@(x,y)5*x.^2+y.^2.*sin(y)-3) set(h1,color,[1,0,0]) hold on h2=ezplot(@(x,y)y.^2+10*cos(x.*y)+4*x+2*y-7); set(h2,color,[0,0,1]) r=[0.9360,0.4483,-0.3502,-0.7746,-0.7121,-1.1380;- 1.2139,-3.3232,-3.3552,0.0518,3.0930,3.4397]; u=r(1,:);v=r(2,:); plot(u,v,mh) hold off grid on;二、微分方程求解 1.求微分方程解析解 dsolve(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件,初始条件省缺时,是求微分方程的通解。;y=dsolve(D2y+4*Dy+29*y,y(0)=0,Dy(0)=15,x)结果:y = (3*sin(5*x))/exp(2*x);例4.4 求微分方程组的通解;2.求微分方程数值解;简单的说微分方程数值解法,就是将连续问题离散化,用数值方法给出它的解在某些离散节点上的近似值。 求数值解的方法有欧拉法、龙格-库塔法等。 基于龙格-库塔法,matlab求微分方程数值解函数: [x,y]=ode23(‘函数’,‘求解区间’,‘初始值’) (采用2,3阶龙格-库塔法) x: 自变量值,y: 函数值 其它求解命令:ode45,ode15s,ode23s等 注意:matlab求微分方程数值解时,高阶微分方程必须等价的变换成一阶微分方程组。;例4.5 求解微分方程初值问题: f=@(x,y)1./(1+x.^2)-2*y.^2 ode23(f,[0,6],0) figure(2) ode45(f,[0,6],0);例4.6 求解微分方程初值问题:;[x,y]=ode15s(li406,[0,3000],[2,0]) plot(x,y(:,1)) 求微分方程(组)数的值解时,需先定义表示方程(组)的函数文件,如:dy=ffff(x,y) 然后调用: [x,y]=ode23(‘ffff’,[a,b],x0) 在求解n个方程的微分方程组时,y与x0均为n维向量,函数文件ffff中的待解方程组应以y的分量形式写出。;例4.7 导弹追踪问题 设位于坐标原点的甲舰向位于x轴上点(1,0)处的乙舰发射导弹,导弹头始终对准乙舰,若乙舰以最大速度v0;解: 设 y1=y , 问题化为:;[x,y]=ode15s(fun407,[0,0.99999],[0,0]); yy=y(:,1); plot(x,yy,*) s=yy(end) 得:s=0.2017;例4.8 放射性废料的处理 有一个时期美国原子能机构处理核废料时,一直采用将它们装入密封的圆桶里,然后扔到水深约91米海底的方法。对此科学家们表示担心,怕圆桶下沉到海底时,与海底碰撞发生破裂而造成核污染。为此工程师们进行碰撞试验,发现当圆桶下沉速度超过12.2米/秒与海底碰撞时,圆桶就可能发生破裂。按此试验结论,分析这种处理核废料的方式是否安全。已知圆桶重量239.456千克,体积为0.208立方米,海水浮力 1025.94千克/立方米。(大量试验表明圆桶下沉时的阻力与下沉速度成正比,比例系数为0.12) 分析:求出当圆桶下沉到海底时,下沉速度是否大于12.2米/秒;重量W=239.456千克,体积V=0.208立方米, 海水浮力B=1025.94V=213.396千克,阻力系数k=0.12,;求解方程: B=1025.94*0.208; k=0.12;

文档评论(0)

1亿VIP精品文档

相关文档