定义:含有导数的方程称为微分方程。如
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)