matlab微分方程的求解的方法要点分析.ppt

定义:含有导数的方程称为微分方程。如 f(x, y(x), y’(x))=0;特殊情形:;③ 图形解 ;微分方程数值解;1) 向前欧拉公式: (y’= f (x, y) ) y (xn+1) ? y(xn) + h f(xn, y(xn)) (迭代式) yn+1 ? yn + h f(xn, yn) (近似式) 特点:f(x,y)取值于区间[xn, xn+1]的左端点.; yn+1 ? yn + h f(xn +1, yn +1) 特点:① f(x,y)取值于区间[xn, xn+1]的右端点. ② 非线性方程, 称‘隐式公式’。;例 1;2) 向前欧拉法: yn+1 = yn + h(-yn + xn+ 1) = (1-h) yn + h xn+ h 3)向后欧拉法: yn+1 = yn + h(- yn +1+xn +1+1) 转化 yn+1 = (yn + h xn+1+ h )/(1+h);x1(1)=0;y1(1)=1;y2(1)=1;h=0.1;(died.m) for k=1:10 x1(k+1)=x1(k)+h; y1(k+1)=(1-h)*y1(k)+h*x1(k)+h; y2(k+1)=(y2(k)+h*x1(k+1)+h)/(1+h); end x1,y1,y2,(y1——向前欧拉解,y2——向后欧拉解) x=0:0.1:1; y=x+exp(-x)(解析解) plot(x,y,x1,y1,k:,x1,y2,r--);x;(2)步长h=0.01的数值解比较表;图形显示;梯形公式 ;x;2、龙格-库塔法;微分方程图解法;微分方程图解法;相平面轨迹表示微分方程的解 ;微分方程图解法;微分方程图解法;微分方程图解法;MATLAB软件求解;例①;例② 常系数的二阶微分方程;x=dsolve(D2x-(1-x^2)*Dx+x=0, x(0)=3,Dx(0)=0);x=dsolve((Dx)^2+x^2=1,x(0)=0);输入: [x,y]=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y) [x,y]=dsolve(Dx=3*x+4*y,Dy=-4*x+3*y,x(0)=0,y(0)=1);MATLAB软件求解;1)首先建立M-文件 (weif.m) function f = weif(x,y) f=-y+x+1; 2)求解:[x,y]=ode23(‘weif’, [0, 1], 1) 3) 作图形: plot(x, y, ‘r’); 4) 与精确解进行比较 hold on ezplot(‘x+exp(-x)’,[0, 1]); 使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.;注意;例2 Van der pol 方程:;(1)编写M文件 ( 文件名为 vdpol.m): function yp = vdpol(t,y); yp=[y(2);(1-y(1)^2)*y(2)-y(1)];; 蓝色曲线 ——y(1); (原方程解) 红色曲线 ——y(2);;范例;例3 考虑Lorenz模型:;1、 lorenz.m function xdot=lorenz(t,x) xdot=[-8/3,0,x(2);0,-10,10;-x(2),28,-1]*x;;图中,x1的图形为实线(蓝),x2的图形为“*”线(绿), x3的图形为“+”线(红).取[t0,tf]=[0,10]。;曲线呈震荡发散状;观察结果:;1)x0=[0 0.1 0.1]‘;[t0,tf]=[0,30];解向量y 2)x00=[0.01 0.11 0.11]‘;[t0,tf]=[0,30];解向量x y – x = (y1-x1,y2-x2,y3-x3);1、Apollo卫星的运动轨迹的绘制;2、用向前欧拉公式和改进的欧拉公式求方程 y’=y-2x/y, y(0) = 1的数值解(0≤x≤1,h=0.1) 要求编写程序。;3、Rossler微分方程组:

文档评论(0)

1亿VIP精品文档

相关文档