常微分方程组(边值)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常微分方程组边值问题解法

打靶法Shooti ng Method (shoot in g.m )

% 丁靶法求常微分方程的边值问题

function [x,a,b ,n]=shooti ng(fu n, xO,x n, eps) if nargin<3

eps=1e-3;

end

x1=x0+ra nd;

[a,b]=ode45(fu n, [0,10],[0,x0]');

c0=b(le ngth(b),1);

[a,b]=ode45(fu n, [0,10],[0,x1]');

c1=b(le ngth(b),1);

x2=x1-(c1-x n)*(x1-x0)/(c1-c0);

n=1;

while (no rm(c1-x n)>=eps & no rm(x2-x1)>=eps) x0=x1;x 仁x2;

[a,b]=ode45(fu n,[ 0,10],[0,x0]');

cO=b(le ngth(b),1);

[a,b]=ode45(fu n,[ 0,10],[0,x1]');

c1= b(le ngth(b),1)

x2=x1-(c1-x n)*(x1-x0)/(c1-c0);

n=n+1;

end

x=x2;

应用打靶法求解下列边值问题:

y 10 0 解:将其转化为常微分方程组的初值问题

命令:

xO=[O:O.1:1O];

y0=32*((cos(5)-1)/si n( 5)*si n(x0/2)-cos(x0/2)+1); plot(xO,yO,'r')

hold on [x,y]=ode45('odebvp',[0,10],[0,2]'); plot(x,y(:,1))

[x,y]=ode45('odebvp',[0,10],[0,5]'); plot(x,y(:,1))

[x,y]=ode45('odebvp',[0,10],[0,8]'); plot(x,y(:,1)) [x,y]=ode45('odebvp',[0,10],[0,10]'); plot(x,y(:,1))

dy i dx y 2 dy 2 dx y i 0

y 4 y o

dy

dx X0

真实解

30

'

12^4567^9 10

函数:(odebvp.m)

泌值常微分方程(组)函数

function f=odebvp(x,y)

f(1)=y(2);

f(2)=8-y(1)/4;

f=[f(1);f(2)];

命令:

[t,x,y, n]=shoot in g('odebvp',10,0,1e-3)

计算结果:(eps=0.001 )

t=11.9524

plot(x,y(:,1))

x0=[0:1:10];

y0=32*((cos(5)-1)/si n( 5)*si n(x0/2)-cos(x0/2)+1); hold on

plot(xO,yO, ' o')

有限差分法 Finite Differenee Methods FDM

同上例:

Y i i

2

Y i y i i

h 2 2 ——

1

4

函数:(differe nce.m )

%有限差分法求常微分方程的边值问题 function [x,y]=differe nce(xO,x n,yO,yn,n) h=(x n-xO)/n;

a=eye( n-1)*(-(2-h A 2/4)); for i=1: n-2 a(i,i+1)=1; a(i+1,i)=1; end

b=o nes( n-1,1)*8*hA2; b(1)=b(1)-0; b(n-1)=b( n-1)-0; yy=a\b;

x(1)=x0;y(1)=y0; for i=2: n x(i)=x0+(i-1)*h;

Y i i 2

若划分为10个区间,则:

h- Y i Y i 1 8h 2

4

(differe nce.m )

1

h 2 2 4

1

1

Y 1 Y 2

8h 2

8h 2

0 h 2

Y n 2 8h 2

2

4 1

Y n 1

8h 2 0

.2

h 1

2

4

y(i)=yy(i-i);

end

x(n)=xn;y(n)=yn;

命令:

[x,y]=differe nce(0,10,0,0,100);

计算结果:

xO=[O:O.1:1O];

y0=32*((cos(5)-1)/si n( 5)*si n(x0/2)-cos(x0/2)+1);

plot(xO,yO,'r')

hold on

[x,y]=differe nce(0,10,0,0,5);

plot(x,y,'.')

[x,y]=differe nce(0,10,0,0,10);

plot(x,y,'--')

[x,y]=differe nce(0,10,0,0,50);

plot(x,y,'-.')

正交配置法Orthogonal Collocatioin Methods CM

构造正交矩阵函数(collmatrix.m )

%E交配置矩阵(均用矩阵法求对称性与非对称性正交配置矩阵) function [am,bm,wm,an,bn,wn]=collmatrix(a,m,fm,n,fn) 真实解

3 4 6 7 9 9 1D

X

相关文档
最新文档