You are on page 1of 35

CHNG 9: PHNG TRNH VI PHN O HM RING

1.KHINIMCHUNG

Phngtrnhviphnohmring(PDE)lmtlpccphngtrnh
vi phn c s bin c lp ln hn 1. Trong chng ny ta s kho st cc
phng trnh vi phn o hm ring cp 2 vi hai bin c lp x v y, c
dngtngqut:

2u
2u
2u
u u
A(x,y) 2 + B(x,y)
(1)
+ C(x, y) 2 = f x,y,u, ,

x
xy
y
x y

vixoxxf,yoyyfvcciukinbin:
u(x,y o ) = b yo (x)
u(x,y f ) = b yf (x)

u(xo ,y) = bxo (y)


u(xf ,y) = bxf (y)
(2)
CcPDEcphnthnh3loi:
B2 4AC < 0

PDEelliptic:

PDEparabolic: B2 4AC = 0

PDEhyperbolic: B2 4AC > 0


Ccphngtrnhnygnmtcchtngngvitrngthicnbng,trng
thitruynnhit,hthngdaong

2.PHNGTRNHELLIPTIC

TaxtphngtrnhHelmholz:
2 u(x,y) 2 u(x,y)

2 u(x,y) + g(x, y) =
+
+ g(x,y)u(x,y) = f(x,y) (1)
x 2
y 2

trnmin D = {(x,y) : xo x xf ,y o y y f } viiukinbindng:


u(x,y o ) = b yo (x)
u(x, y f ) = b yf (x)

(2)
u(xo ,y) = b xo (y)
u(xf ,y) = b xf (y)

Phng trnh (1) c gi l phng trnh Poisson nu g(x, y) = 0 v gi l


phngtrnhLaplacenug(x,y)=0vf(x,y)=0.dngphngphpsai
phntachiaminthnhMxon,miondix=(xfxo)/Mxdctheotrc
xvthnhMyon,miondiy=(yfyo)/Mydctheotrcyvthayo
hmbc2bngxpx3im:
u i ,j+1 2u i ,j + u i ,j1
2 u(x,y)

vixj=xo+jx,yj=yo+jy
(3.a)

x 2 x j ,yi
x 2

403

u i+1,j 2u i ,j + u i1,j
2 u(x,y)

viui,j=u(xj,yi)
y 2 x ,y
x 2
j

(3.b)

Nhvytimiimbntrong(xj,xi)vi1iMy1v1jMxitnhn
cphngtrnhsaiphn:
u i ,j+1 2u i ,j + u i ,j1 u i+1,j 2u i ,j + u i1,j

+
= g i ,ju i ,j = fi ,j

(4)
x 2
y 2
Trong:
fi,j=f(xj,yi)
gi,j=g(xj,yi)

ui,j=u(xj,yi)
Ccphngtrnhnyspxplitheocchnothnhhphngtrnhvi

(My1)(Mx1)bin u1,1 ,u1,2 ,...,u1,Mx 1 ,u 2 ,1 ,...,u 2 ,Mx 1 ,...,u My 1,2 ,...,u My 1,Mx 1 .
ddngtavitliphngtrnhviukinbindidng:

u i ,j = ry (u i ,j+1 + u i ,j1 ) + rx (u i+1,j + u i1,j ) + rxy (g i ,ju i ,j fi ,j )

(5a)

u i ,o = b xo (y i )

(5b)

u i ,Mx = b xf (y i )

u o ,j = b yo (x j )

u My ,j = b yf (x j )

Trong:

y 2
x 2 y 2
x 2

ry =
rx =
rxy =

(6)

2( x 2 + y 2 )
2( x 2 + y 2 )
2( x 2 + y 2 )
Bygitakhosttipccdngiukinbin.CcbitonPDEc2loi
iukinbin:iukinbinNeumannviukinbinDirichlet.iukin
binNeumannmtbng:
u(x,y)

(7)
= bxo (y)

x x=xo
Thayohmbc1bintri(x=xo)bngxpx3im:
u i ,1 u i ,1
= bxo (y i )
u i ,1 u i ,1 2bxo (y i )x i=1,2,...,My1

2 x
Thaythrngbucnyvo(5a)ccimbintac:

u i ,0 = ry (u i ,1 + u i ,1 ) + rx (u i+1,0 + u i1,0 ) + rxy (g i ,0 u i ,0 fi ,0 )

= ry u i ,1 + u i ,1 2bx0 (y i )x + rx (u i+1,0 + u i1,0 ) + rxy (g i ,0 u i ,0 fi ,0 )

= 2ry u i ,1 + rx (u i+1,0 + u i1,0 ) + rxy g i ,0 u i ,0 fi ,0 2bx0 (y i )x

(8)

(9)

Nuiukinbintrnbindi(y=yo)cnglkiuNeumanntasvitcc
phngtrnhtngtvij=1,2,...,Mx1:
u 0 ,j = 2rx u1,j + ry (u 0 ,j+1 + u 0 ,j1 ) + rxy g 0 ,j u 0 ,j f0 ,j 2by0 (x j )y
(10)

vbsungchogcditri(xo,yo):
404

by (x0 )
bx (y 0 )

+2 0
u 0 ,0 = 2(ry u 0 ,1 + rx u1,0 ) + rxy g 0 ,0 u 0 ,0 f0 ,0 2 0
(11)

x
y

iukinbinDirichletchogitrhmtrnbinnncththaytrctipvo
phngtrnh.Tacthlygitrtrungbnhcaccgitrbinlmgitr
ucaui,j.Taxydnghmpoisson()thchinthuttonny:

function[u,x,y]=poisson(f,g,bx0,bxf,by0,byf,D,Mx,My,tol,maxiter)
%giaia(u_xx+u_yy+g(x,y)u=f(x,y)
%trenmienD=[x0,xf,y0,yf]={(x,y)|x0<=x<=xf,y0<=y<=yf}
%voidieukienbien:
%u(x0,y)=bx0(y),u(xf,y)=bxf(y)
%u(x,y0)=by0(x),u(x,yf)=byf(x)
%Mxsodoancontrentrucx
%Mysodoancontrentrucy
%tol:saisochophep
%maxiter:solanlap
x0=D(1);
xf=D(2);
y0=D(3);
yf=D(4);
dx=(xfx0)/Mx;
x=x0+[0:Mx]*dx;
dy=(yfy0)/My;
y=y0+[0:My]*dy;
Mx1=Mx+1;
My1=My+1;
%dieukienbien
form=1:My1
u(m,[1Mx1])=[bx0(y(m))bxf(y(m))];
end
forn=1:Mx1
u([1My1],n)=[by0(x(n));byf(x(n))];
end
sumbv=sum(sum([u(2:My,[1Mx1])u([1My1],2:Mx)]));
u(2:My,2:Mx)=sumbv/(2*(Mx+My2));
fori=1:My

405

forj=1:Mx
F(i,j)=f(x(j),y(i));
G(i,j)=g(x(j),y(i));
end
end
dx2=dx*dx;
dy2=dy*dy;
dxy2=2*(dx2+dy2);
rx=dx2/dxy2;
ry=dy2/dxy2;
rxy=rx*dy2;
foritr=1:maxiter
forj=2:Mx
fori=2:My
u(i,j)=ry*(u(i,j+1)+u(i,j1))+rx*(u(i+1,j)+u(i1,j))...
+rxy*(G(i,j)*u(i,j)F(i,j));%Pt.(5a)
end
end
ifitr>1&max(max(abs(uu0)))<tol
break;
end
u0=u;
end

TagiiphngtrnhLaplace:
2 u(x,y) 2 u(x, y)
2 u(x, y) =
+
= 0

x 2
y 2
trongmin0x4,0y4viiukinbin:

u(0,y) = e y cosy
u(4,y) = e x cos4 e 4cosy

u(x,0) = cosxe x

u(x,4) = e 4 cosxe xcos4

(vd1)

(vd2)

(vd3)

Tamunnhncu(x,y),mtphnbnhittrnmttmvungmi
cnh di 4 n v. Ta dng chng trnh ctpoisson.m gi hm poisson()
giibitonny.

clearall,clc
406

f=inline(0,x,y);
g=inline(0,x,y);
x0=0;
xf=4;
Mx=20;
y0=0;
yf=4;
My=20;
bx0=inline(exp(y)cos(y),y);%(vd.2a)
bxf=inline(exp(y)*cos(4)exp(4)*cos(y),y);%(vd.2b)
by0=inline(cos(x)exp(x),x);%(vd.3a)
byf=inline(exp(4)*cos(x)exp(x)*cos(4),x);%(vd.3b)
D=[x0xfy0yf];
maxiter=500;
tol=1e4;
[U,x,y]=poisson(f,g,bx0,bxf,by0,byf,D,Mx,My,tol,maxiter);
clf
mesh(x,y,U)
axis([0404100100])

3.PHNGTRNHPARABOLIC
1. Dng phng trnh: Mt phng trnh vi phn o hm ring dng
paraboliclphngtrnhmtsphnbnhitimxtithiimt
camtthanh:
2 u(x,t) u(x,t)

(1)
A
=
x 2
t
phng trnh c th gii c ta phi cho iu kin bin u(0, t) = b0(t),
u(xf ,t) = bxf (t) viukinuu(x,0)=i0(x)
2.PhngphpEulertintngminh:pdngphngphpsaiphn
hu hn, ta chia min khng gian [0, xf] thnh M on, mi on di
x = xf / M vchiathigianTthnhNphn,miphnlt=T/N.Sauta
thayohmbc2vtrivohmbcvphica(1)bngccxpx
3imvnhnc:
u k 2u ik + u ik1 u ik+1 u ik

A i +1
=

(2)
x 2
t
407

Cngthcnycthgignvothuttonsau,gilthuttonEultin
tngminh:
t

u ik+1 = r(u ik+1 + u ik1 ) + (1 2r)u ik r = A 2

(3)
x

i=1,2,...,M1
tmiukinnnhcathutton,tathaynghimth:
ji
P

u = e

(4)
viPlsnguynkhczerovophngtrnh(3)vc:
j
j

= r e + e P + (1 2r) = 1 2r 1 cos

(5)
P

Dotaphic||1vibitonkhngcngunnniukinnnhl:
t 1

r=A 2

(6)
x
2
Taxydnghmfwdeuler()thchinthuttontrn

function[u,x,t]=fwdeuler(a,xf,T,it0,bx0,bxf,M,N)
%giaiau_xx=u_tvoi0<=x<=xf,0<=t<=T
%dieukiendau:u(x,0)=it0(x)
ieukienbien:u(0,t)=bx0(t),u(xf,t)=bxf(t)
%Msodoancontheox
%Nsodiemtheot
dx=xf/M;
x=[0:M]*dx;
dt=T/N;
t=[0:N]*dt;
fori=1:M+1
u(i,1)=it0(x(i));
end
forn=1:N+1
u([1M+1],n)=[bx0(t(n));bxf(t(n))];
end
r=a*dt/dx/dx
r1=12*r;
fork=1:N
fori=2:M
u(i,k+1)=r*(u(i+1,k)+u(i1,k))+r1*u(i,k);%Pt.(3)
k
i

408

end
end
3. Phng php Euler li n: Ta kho st mt thut ton khc gi l thut
tonEulerli,nsinhradothaythlixpxohmiviohmbc
1trnvphica(1):
u ik+1 2u ik + u ik1 u ik u ik 1
A
=

(7)
x 2
t
t
ru ik1 + (1 + 2r)u ik ru ik+1 = u ik 1 r = A 2

(8)
x
k
c hai u cho trc t iu kin bin kiu
Nu cc gi tr u 0k v u M
Dirichletnnphngtrnh(8)atihphngtrnh:
k
k 1
k
1 + 2r
r
0
0
0
0 u1 u1 + ru 0

k
k 1
u
u

r
1
2r
r
0
0
0
2

2
k
k 1

r
r
1 + 2r
0
0
u3
u3

(9)

M
M
M
M
M M

M
M
k

k 1
+

L
0
0
1
2r
r
u
u

M2
M 2
0
r
0
0
1 + 2r u k u k1 + ru k
L
M

M1 M 1
u
iukinbinNeumann
= b0 (t) cavophngtrnhbngcch
x x=0
xpx:
u1k u k1

(10)

= b0 (k)
2 x
vghpnviphngtrnhcn u 0k :

ru k1 + (1 + 2r)u 0k ru1k = u 0k 1

ccphngtrnh:
(1 + 2r)u 0k 2ru1k = u 0k 1 2rb0 (k)x

Ktqutacchphngtrnh:

(11)

(12)

409


1 + 2r
0
0
r

1 + 2r
0
r
r
0
1 + 2r
r
r

0
1 + 2r
r
0
M
M
M
M

0
0
0
0
0
0
0
0

L
L
L
L
M
L
L

0 u 0k u 0k 2rb0 (k)x

0
0 u1k
u1k1


k
k 1

0
0 u2
u2

k
0
0 u3 =
u k3 1
(13

0 M
r
M

k
k 1
1 + 2r
r u 0
uM

2
k
k
1
k

1 + 2r u 0 u M 1 + ru M
r
0

iukinnnhcanghiml:

re

hay: =

+ (1 + 2r) re =
P

1 + 2r 1 cos
P

Taxydnghmbackeuler()thchinthuttonny:

function[u,x,t]=backeuler(a,xf,T,it0,bx0,bxf,M,N)
%Giaiau_xx=u_tvoi0<=x<=xf,0<=t<=T
%Dieukiendau:u(x,0)=it0(x)
%ieukienbien:u(0,t)=bx0(t),u(xf,t)=bxf(t)
%Msokhoangcontrentrucx
%Nsokhoangtheot
dx=xf/M;
x=[0:M]*dx;
dt=T/N;
t=[0:N]*dt;
fori=1:M+1
u(i,1)=it0(x(i));
end
forn=1:N+1
u([1M+1],n)=[bx0(t(n));bxf(t(n))];
end
r=a*dt/dx/dx;
r2=1+2*r;
fori=1:M1

(14)

410

A(i,i)=r2;%Pt.(9)
ifi>1
A(i1,i)=r;
A(i,i1)=r;end
end
fork=2:N+1
b=[r*u(1,k);zeros(M3,1);r*u(M+1,k)]+u(2:M,k1);%Pt.(9)
u(2:M,k)=trid(A,b);
end

4.Phngphp CrankNicholson:Trong(7),xpxohmvtrily
thiimk,trongkhixpxohmvphi.cithin,talyohm
vtriltrongbnhcaxpxohmtihaiimlkvk+1vc:
A u ik++11 2u ik+1 + u ik+11 u ik+1 2u ik + u ik1 u ik+1 u ik
+

(15)
=
x 2
x 2

2
t

vnhncphngphpCrankNicholson:
t

ru ik++11 + (1 + 2r)u ik+1 ru ik+11 = ru ik+1 + (1 2r)u ik + ru ik1 r = A 2 (16)


x
ViiukinbinDirichlettix0viukinbinNeumanntixMtach
phngtrnh:
k +1
2(1 + r)
0
0
0
0 u1
r

k +1
r
2(1
r)
r
0
0
0

u2
0
2(1 + r)
0
0 u k3 +1
r
r

M
M
M
M
M M
M
0
k +1
0
0
2(1
r)
r
L
+

u M 1
0
0
0
2(1 + r) u k +1
L
r

M
k
2(1 r)
r
0
0
0
0 u1

k
r
2(1
r)
r
0
0
0

u2
0
r
2(1 r)
r
0
0 u k3

=
M
M
M
M
M
M

0
0
0
2(1 r)
r u k
L

M 1
0
0
0
r
2(1 r) u k
L

411

r(u 0k +1 + u 0k )

+
M

2r [ bM (k + 1) + bM (k)]
iukinnnhcxcnhbng:

2 1 + r 1 cos = 2 1 r 1 cos
P
P

1 r 1 cos
P

1
hay: =

1 + r 1 cos
P

Taxydnghmcranknicholson()thchinthuttontrn:

function[u,x,t]=cranknicholson(a,xf,T,it0,bx0,bxf,M,N)
%Giaiau_xx=u_tvoi0<=x<=xf,0<=t<=T
%Dieukiendau:u(x,0)=it0(x)
%Dieukienbien:u(0,t)=bx0(t),u(xf,t)=bxf(t)
%Msokhoangcontrentrucx
%Nsokhoangtheot
dx=xf/M;
x=[0:M]*dx;
dt=T/N;
t=[0:N]*dt;
fori=1:M+1
u(i,1)=it0(x(i));
end
forn=1:N+1
u([1M+1],n)=[bx0(t(n));bxf(t(n))];
end
r=a*dt/dx/dx;
r1=2*(1r);
r2=2*(1+r);
fori=1:M1

(17)

(18)

412

A(i,i)=r2;%Pt.(17)
ifi>1
A(i1,i)=r;
A(i,i1)=r;
end
end
fork=2:N+1
b=[r*u(1,k);zeros(M3,1);r*u(M+1,k)]...
+r*(u(1:M1,k1)+u(3:M+1,k1))+r1*u(2:M,k1);
u(2:M,k)=trid(A,b);%Pt.(17)
end

giiphngtrnh:
2 u(x,t) u(x,t)
=
0 x 1, 0 t 0.1

x 2
t
viiukinu:

u(x,0)=sinx u(0,t)=0 u(1,t)=0

Nhvyvix=xf/M=1/20vt=T/N=1/100tac:
t
0.001

r = A 2 = 1.
= 0.4
x
0.052
Tadngchngtrnhctheat.mtmnghimca(vd1):

clearall,clc
a=1;%cacthongsocua(vd1)
it0=inline(sin(pi*x),x);%dieukiendau
bx0=inline(0);
bxf=inline(0);%dieukienbien
xf=1;
M=25;
T=0.1;
N=100;
[u1,x,t]=fwdeuler(a,xf,T,it0,bx0,bxf,M,N);
figure(1),clf,mesh(t,x,u1)
[u2,x,t]=backeuler(a,xf,T,it0,bx0,bxf,M,N);
figure(2),clf,mesh(t,x,u2)
[u3,x,t]=cranknicholson(a,xf,T,it0,bx0,bxf,M,N);

(vd1)

(vd2)

(vd3)

413

figure(3),clf,mesh(t,x,u3)

4.PDEparabolic2chiu:Taxtbitonphngtrnhviphnohmring
parabolichaichiumtsphnbnhitu(x,y,t):
2 u(x,y,t) 2 u(x,y,t) u(x, y,t)
A

(19)
+

=
2
2
x
y
t

phngtrnhcthgiictacnchoiukinbin:
u(x0 ,y,t) = bx0 (y,t)
u(xf ,y,t) = b xf (y,t)

u(x, y 0 ,t) = b y0 (x,t)


u(x,y f ,t) = b yf (x,t)

viukinuu(x,y,0)=i0(x,y)
Tathayohmbc1theotvphibngsaiphn3imtiimgia
(tk+1+tk)/2nhphngphpCrankNicholson.Tacngthaythmttrong
ccohmbchaiuxxvuyybngxpx3imtithiimtkvohm
kiatitk+1vc:
u ik,j+1 2u ik,j + u ik,j1 u ik,j+1 2u ik,j + u ik,j1 u ik,j+1 u ik,j

(20)
=
2
2

x
x
t

Tavitphngtrnhtithiimtiptheotk+1:
u ik,j++11 2u ik,j+1 + u ik,j+11 u ik,j+1 2u ik,j + u ik,j1 u ik,j+ 2 u ik,j+1

A

(21)
=
2
2

x
x
t

Cng thc ny, c Peaceman v Rachford a ra, l phng php n v


tonnhphngtrnh:

vi0jMx1

(22a)

(22b)

ry u ik+1,j1 + u ik++1,j1 + (1 + 2ry )u ik,j+1 = rx u ik,j1 u ik,j+1 + (1 2rx )u ik,j

rx u ik,j+21 + u ik,j++21 + (1 + 2rx )u ik,j+ 2 = ry u ik+1,j1 u ik++1,j1 + (1 2ry )u ik,j+1

vi0iMy1
t
v: rx = A 2
x
x x0

x = f

Mx

y 2
y y0
y = f

My

ry = A

t =

Taxydnghmheat2D()thchinthuttonny:

function[u,x,y,t]=heat2D(a,D,T,ixy0,bxyt,Mx,My,N)
%Giaiau_t=c(u_xx+u_yy)voiD(1)<=x<=D(2),D(3)<=y<=D(4),0<=t
%<=T
414

%Dieukiendau:u(x,y,0)=ixy0(x,y)
%Dieukienbien:u(x,y,t)=bxyt(x,y,t)voi(x,y)cB
%Mx/Mycacdoancodoctheotrucx/y
%Ncackhoangthoigian
dx=(D(2)D(1))/Mx;
x=D(1)+[0:Mx]*dx;
dy=(D(4)D(3))/My;
y=D(3)+[0:My]*dy;
dt=T/N;
t=[0:N]*dt;
%Khoigan
forj=1:Mx+1
fori=1:My+1
u(i,j)=ixy0(x(j),y(i));
end
end
rx=a*dt/(dx*dx);
rx1=1+2*rx;
rx2=12*rx;
ry=a*dt/(dy*dy);
ry1=1+2*ry;
ry2=12*ry;
forj=1:Mx1%Pt.(22a)
Ay(j,j)=ry1;
ifj>1
Ay(j1,j)=ry;
Ay(j,j1)=ry;
end
end
fori=1:My1%Pt.(22b)
Ax(i,i)=rx1;
ifi>1
Ax(i1,i)=rx;
Ax(i,i1)=rx;
end
end
415

fork=1:N
u_1=u;
t=k*dt;
fori=1:My+1%Dieukienbien
u(i,1)=feval(bxyt,x(1),y(i),t);
u(i,Mx+1)=feval(bxyt,x(Mx+1),y(i),t);
end
forj=1:Mx+1
u(1,j)=feval(bxyt,x(j),y(1),t);
u(My+1,j)=feval(bxyt,x(j),y(My+1),t);
end
ifmod(k,2)==0
fori=2:My
jj=2:Mx;
bx=[ry*u(i,1)zeros(1,Mx3)ry*u(i,My+1)]...
+rx*(u_1(i1,jj)+u_1(i+1,jj))+rx2*u_1(i,jj);
u(i,jj)=trid(Ay,bx);%Pt.(22a)
end
else
forj=2:Mx
ii=2:My;
by=[rx*u(1,j);zeros(My3,1);rx*u(Mx+1,j)]...
+ry*(u_1(ii,j1)+u_1(ii,j+1))+ry2*u_1(ii,j);
u(ii,j)=trid(Ax,by);%Pt.(22b)
end
end
end

Taxtphngtrnh:
2
2 u(x,y,t) u(x,y,t)
4 u(x,y,t)

+
10

=
2
2

x
y
t

(vd1)

trongmin:0x4,0y4vtrongkhongthiggian0t5000
iukinu:

u(x,y,0)=0

(vd2a)
viukinbin:
eycosxexcosytix=0,x=4;y=0,y=4

(vd2b)
416

Chngtrnhchngtrnhctheat2D.mdnggiiphngtrnhl:

clear,clc,clf
a=1e4;
it0=inline(0,x,y);%(vd2a)
bxyt=inline(exp(y)*cos(x)exp(x)*cos(y),x,y,t);%(vd.2b)
D=[0404];
T=5000;
Mx=40;
My=40;
N=50;
[u,x,y,t]=heat2D(a,D,T,it0,bxyt,Mx,My,N);
mesh(x,y,u)

4.PHNGTRNHHYPERBOLIC
1. Dng phng trnh: Phng trnh truyn sng mt chiu l PDE dng
hyperbolic:
2 u(x,t) 2 u(x,t)

(1)
A
=
x 2
t 2

0xxf,0tT
iukinbin:

u(0,t)=b0(t), u(xf ,t) = b xf (t)


viubin:

u
= i0 (x)
t t =0
phicchotrcphngtrnhcthgiic
2. Phng php sai phn tng minh: Tng t nh khi gii PDE dng
parabolic,tathayohmbchaihaivca(1)bngsaiphn3im:
u k 2u ik + u ik1 u ik +1 2u ik + u ik 1

A i +1
=

(2)
x 2
t 2
T
x
x = f
t =

N
M
vccphngphpsaiphntngminh:
u ik +1 = r ( u ik+1 + u ik1 ) + 2(1 r)u ik u ik1

(3)

u(x,0)=i0(x),

vi: r = A

t 2

x 2
417

V u i1 = u(xi , t) khngchotrcnntakhngthdngtrctip u1i t(3)


vik=0:

u1i = r ( u i0+1 + u i01 ) + 2(1 r)u i0 u i1

(4)
Nhvy,taxpxiukinuvohmbngsaiphn:
u1i u i1

= i0 (xi )
2 t
vrtra u i1 avo(3):

(5)

u1i = r ( u 0i+1 + u 0i1 ) + 2(1 r)u i0 u1i 2i0 (xi )t

1
u1i = r ( u 0i+1 + u 0i1 ) + (1 r)u 0i + i0 (xi )t

(6)
2
Tadng(6)cngviiukinuc u1i vrithayvo(3).Chl:

r1bomnnh
chnhxccanghimtngkhirtngchoxgim
Hplnhtllyr=1.iukinnnhcthnhncbngcchthay(4)
vo(3):

1
= 2rcos + 2(1 r)
P

hay: 2 + 2 r 1 cos 1 + 1 = 0
P

Nhvy:
1
t 2

r
r = A 2 1
x

1 cos
P

Taxydnghmwave()thchinthuttontrn:

function[u,x,t]=wave(a,xf,T,it0,i1t0,bx0,bxf,M,N)
%giaiau_xx=u_ttvoi0<=x<=xf,0<=t<=T
%dieukiendau:u(x,0)=it0(x),u_t(x,0)=i1t0(x)
%dieukienbien:u(0,t)=bx0(t),u(xf,t)=bxf(t)
%Mkhoangchiatheox
%Nkhoangchiateot
dx=xf/M;
x=[0:M]*dx;
dt=T/N;
t=[0:N]*dt;

418

fori=1:M+1
u(i,1)=it0(x(i));
end
fork=1:N+1
u([1M+1],k)=[bx0(t(k));bxf(t(k))];
end
r=a*(dt/dx)^2;
r1=r/2;
r2=2*(1r);
u(2:M,2)=r1*u(1:M1,1)+(1r)*u(2:M,1)+r1*u(3:M+1,1)...
+dt*i1t0(x(2:M));%Pt.(6)
fork=3:N+1
u(2:M,k)=r*u(1:M1,k1)+r2*u(2:M,k1)+r*u(3:M+1,k1)...
u(2:M,k2);%Pt.(3)
end

Taxtphngtrnh:
2 u(x,t) 2 u(x,t)

x 2
t 2

0x2,0t2
iukinuviukinbin:
u

u(x,0)=x(1x)

=0
t t =0
u(0,t) = 0

u(1,t)=0

Tadngchngtrnhctwave.mgiiphngtrnhny:

clearall,clc
a=1;
it0=inline(x.*(1x),x);
i1t0=inline(0);%(vd2a)
bx0t=inline(0);
bxft=inline(0);%(vd2b)
xf=1;
M=20;
T=2;
N=50;

(vd1)

(vd2a)

(vd2b)

419

[u,x,t]=wave(a,xf,T,it0,i1t0,bx0t,bxft,M,N);
figure(1),clf
mesh(t,x,u)
figure(2),clf
forn=1:N%hinhdong
plot(x,u(:,n)),axis([0xf0.30.3]),pause(0.2)
end

4.PDEhyperbolic2chiu:PhngtrnhtruynsnghaichiulPDEdng
hyperbolic:
2 u(x,y,t) 2 u(x,y,t) 2 u(x,y,t)

(8)
A
+
=
2
2
2

x
y
t

0xxf,0yyf,0tT
iukinbin:

u(0,y,t) = bx0 (y,t)


u(xf , y,t) = b xf (y,t)

u(x,y f ,t) = b yf (x,t)

u(x,0,t) = b y0 (x,t)

viubin:

u(x,y)
= i0 (x, y)
t
t =0
Tngtnhhmmtbin,tathayohmbc2bngxpx3im:
u ik,j+1 2u ik,j + u ik,j1 u ik+1,j 2u ik,j + u ik1,j u ik,j+1 2u ik,j + u ik,j1

(9)
+
=
2
2
2

x
y
t

y
x
T
x = f y = f t =

Mx
N
My

u(x,y,0) = i 0 (x,y)

vnhninphngphptngminh:

u ik,j+1 = rx u ik,j+1 + u ik,j1 + 2(1 r x ry )u ik,j + ry u ik+1,j + u ik1,j u ik,j1

(10)

vi:
t 2
t 2

r
A

=
y
y 2
x 2
V u i,j1 = u(xi ,y i , t) khngchotrcnntakhngthdngtrctip u1i,j t

rx = A

(10)vik=0:

u1i ,j = rx u 0i ,j+1 + u 0i ,j1 + 2(1 rx ry )u i0,j + ry u i0+1,j + u 0i1,j u i,j1

(11)

Nhvy,taxpxiukinuvohmbngsaiphn:
420

u1i ,j u i,j1

= i0 (x j ,y i )

2 t
vrtra u i,j1 avo(11):
1
u1i ,j = rx u i0,j+1 + u 0i ,j1 + ry u 0i+1,j + u 0i1,j

+ 2(1 rx ry )u i0,j + i0 (x j ,y i )t

(12)

(13)

iukinnnh:
4At 2
r= 2
1

x + y 2
Taxydnghmwave2D()thchinthuttontrn:

function[u,x,y,t]=wave2D(a,D,T,it0,i1t0,bxyt,Mx,My,N)
%giaia(u_xx+u_yy)=u_ttvoiD(1)<=x<=D(2),D(3)<=y<=D(4),0<=t
%<=T
%dieukiendau:u(x,y,0)=it0(x,y),u_t(x,y,0)=i1t0(x,y)
%dieukienbien:u(x,y,t)=bxyt(x,y,t)voi(x,y)trenbien
%Mx/Mysokhoangchiatrentrucx/y
%Nsokhoangchaitheot
dx=(D(2)D(1))/Mx;
x=D(1)+[0:Mx]*dx;
dy=(D(4)D(3))/My;
y=D(3)+[0:My]*dy;
dt=T/N;t=[0:N]*dt;
%khoigan
u=zeros(My+1,Mx+1);
ut=zeros(My+1,Mx+1);
forj=2:Mx
fori=2:My
u(i,j)=it0(x(j),y(i));
ut(i,j)=i1t0(x(j),y(i));
end
end
adt2=a*dt*dt;
rx=adt2/(dx*dx);
ry=adt2/(dy*dy);
421

rxy1=1rxry;
rxy2=rxy1*2;
u_1=u;
fork=0:N
t=k*dt;
fori=1:My+1%dieukienbien
u(i,[1Mx+1])=[bxyt(x(1),y(i),t)bxyt(x(Mx+1),y(i),t)];
end
forj=1:Mx+1
u([1My+1],j)=[bxyt(x(j),y(1),t);bxyt(x(j),y(My+1),t)];
end
ifk==0
fori=2:My
forj=2:Mx%Pt.(13)
u(i,j)=0.5*(rx*(u_1(i,j1)+u_1(i,j+1))...
+ry*(u_1(i1,j)+u_1(i+1,j)))+rxy1*u(i,j)+dt*ut(i,j);
end
end
else
fori=2:My
forj=2:Mx
u(i,j)=rx*(u_1(i,j1)+u_1(i,j+1))...
+ry*(u_1(i1,j)+u_1(i+1,j))+rxy2*u(i,j)u_2(i,j);
end
end
end
u_2=u_1;
u_1=u;
mesh(x,y,u),axis([0202.1.1])
pause(0.1);
end

Taxtphngtrnh:
1 2 u(x,y,t) 2 u(x,y,t) 2 u(x,t)

=
4
x 2
y 2
t 2

(vd1)

0x2,0y2,0t2
422

iukinuviukinbin:

u(0,y,t)=0u(2,y,t)=0 u(x,0,t)=0u(x,2,t)=0
(vd2)
y
x
u

(vd3)

=0
u(x,y,0) = 0.1sin sin
t t =0
2
2
Tadngchngtrnhctwave2D.mgiiphngtrnhny:

clearall,clc
it0=inline(0.1*sin(pi*x)*sin(pi*y/2),x,y);%(vd3)
i1t0=inline(0,x,y);
bxyt=inline(0,x,y,t);%(vd2)
a=.25;
D=[0202];
T=2;
Mx=40;
My=40;
N=40;
[u,x,y,t]=wave2D(a,D,T,it0,i1t0,bxyt,Mx,My,N);

5.PHNGPHPPHNTHUHN(FEM)GIIPDE

PhngphpFEMdngtmnghimscaPDEviiukinbin.
TaxtmtPDEdngelliptic:
2 u(x,y) 2 u(x,y)
+
+ g(x,y)u(x, y) = f(x,y)

(1)

x 2
y 2
trongminDbaobibinBvtrnbinccciukin:

u(x,y)=b(x,y) trnB

(2)
CcbcdngFEMgiiphngtrnhgm:

)ChiaminDthnhNsmincon{S1,S2,...,SNs}cdnghnhtamgic
)MtvtrcaNnntvnhschngbtutccnttrnbin:
n=1,2,...,Nbvccntbntrong:n=Nb+1,Nb+2,...,Nn
)Xcnhcchmnisuy,hnhdngvcs:

n (x, y) = {n ,s s = 1,...,Ns } (x,y) D

(3a)

n ,s (x, y) = pn ,s (1) + pn ,s (2)x + pn ,s (3)y

chomiminSs

(3b)

423

ivittccccmincons=1:Nsvccntn=1:Nnsaochonbng1
chntnvbngzeroticcntkhc.LcnghimxpxcaPDE
lthptuyntnhcacchmcsn(x,y):

Nn

u(x,y) = [ c ] [ (x,y)] = c n n (x, y)


T

i =1
Nn

Nb

= c n n (x, y) +
i =1

i = N b +1

c n n (x,y)

= [ c1 ] [ 1 ] + [ c 2 ] [ 2 ]
T

(4)

Trong:

[1 ] = 1
[2 ] = N

2 L N b

[c1 ] = c1
[c 2 ] = c N

N b +2 L N n

b +1

c 2 L c N b

(5a)
T

c N b +2 L c N n (5b)

b +1

Vimimincon,nghimnycthvitdidng:

Nn

Nn

i =1

i =1

s (x, y) = c n n ,s (x, y) = c n pn ,s (1) + pn ,s (x) + pn ,s (3)y

(6)

)tccgitrcahsntbintrong[c1]bngccgitrbintng
ngviiukinbin
) Xc nh tr s ca h s nt bn trong trong [c2] bng cch gii h
phngtrnh:

[A2][c2]=[d]

(7)
trong:

Ns

[ A1 ] =

s =1

T
T


2,s 1,s + 2,s 1,s S s


x
y
y

x

Ns

{g(x ,y )
s

2 ,s

1,s

} S
s

(8)

s =1

1,s = 1,s 2 ,s L N b ,s
T

1,s = p1,s (2) p2 ,s (2) L pN b ,s (2)


x
T

1,s = p1,s (3) p2 ,s (3) L pN b ,s (3)


y

Ns

[ A2 ] =

s =1

T
T



2 ,s 2 ,s + 2 ,s 2 ,s S s
x
y
y

x

424

Ns

{g(x ,y )
s

2 ,s

2 ,s

} S
s

(9)

(10)

s =1

2 ,s = Nb +1,s Nb + 2 ,s L N n ,s
T

2 ,s = pNb +1,s (2) pNb + 2 ,s (2) L pN n ,s (2)


x
T

2 ,s = pNb +1,s (3) pNb + 2 ,s (3) L pN n ,s (3)


y

Ns

[d] = [ A1 ][c1 ] f(xs , ys )2 ,s S

s =1

(xs,ys)ltrongtmcaminconSs
FEMdatrnnguyntclnghimca(1)cthnhncbngcch
cctiuhohm:
J=

u(x,y) + u(x,y)
y

g(x, y)u 2 (x,y) + 2f(x,y)u(x,y)} dxdy

(11)

(12)

(13)

[ A1 ][ c1 ] + [ A 2 ][ c 2 ] + f(xs ,y s ) 2 ,s S = 0

(14)

Viu(x,y)=[c]T[(x,y)]tac:

J=

[c ]T [] [][ c ] + [c ]T [ ] [ ]T [c ]
x
x
y
y

{
R

g(x,y) [ c ] [ ][ ] [ c ] + 2f(x, y) [ c ] [ ] dxdy


T

iukinhmnycctiutheo[c]l:
d

J=

[2 ] []T [c ] + []T [c ]
d [c2 ]
x
x
y

{
R

g(x,y) [ 2 ][ ] [ c ] + 2f(x,y) [ 2 ] dxdy = 0


T

Ns

s =1

xydnghmcs n ,s (x,y) thsivimintn=1,2,...,Nnv


mimincons=1,2,...,Nstaxydnghmfembasisftn():

functionp=fembasisftn(N,S)
%p(i,s,1:3):cachesocuamoihamcosophi(i)
%cuamientamgiac(miencon)thus
%N(n,1:2):x&ytoadocuanutthun
425

%S(s,1:3):nutthuscuamiencontamgiacthus
Nn=size(N,1);%tongsonut
Ns=size(S,1);%tongsocacnutcuamiencontamgiac
forn=1:Nn
fors=1:Ns
fori=1:3
A(i,1:3)=[1N(S(s,i),1:2)];
b(i)=(S(s,i)==n);%hamcosothunbang1chionutthun
end
pnt=A\b;
fori=1:3\
p(n,s,i)=pnt(i);
end
end
end

xcnhccvecths[c]canghim(4)nh(7)vccathc
nghim s (x, y) nh(6)ivimimincons=1,2,...,Nstaxydnghm
femcoef():

function[U,c]=femcoef(f,g,p,c,N,S,Ni)
%p(i,s,1:3):cachesocuahamcosophi(i)cuamienconthun
%c=[.11.00.]voicacgiatribienva0voicacnutbentrong
%N(n,1:2):x&ytoajdocuanutthun
%S(s,1:3):nutthuscuamienconthus
%Ni:sonutbentrong
%U(s,1:3):cachesocuap1+p2(s)x+p3(s)ycuamoimiencon
Nn=size(N,1);%tongsonutbangNb+Ni
Ns=size(S,1);%tongsomiencon
d=zeros(Ni,1);
Nb=NnNi;
fori=Nb+1:Nn
forn=1:N_n
fors=1:Ns
xy=(N(S(s,1),:)+N(S(s,2),:)+N(S(s,3),:))/3;%trongtam
%phi(i,x)*phi(n,x)+phi(i,y)*phi(n,y)g(x,y)*phi(i)*phi(n)
426

pvctr=[p([in],s,1)p([in],s,2)p([in],s,3)];
tmpg(s)=sum(p(i,s,2:3).*p(n,s,2:3))...
g(xy(1),xy(2))*pvctr(1,:)*[1xy]*pvctr(2,:)*[1xy];
dS(s)=det([N(S(s,1),:)1;N(S(s,2),:)1;N(S(s,3),:)1])/2;
%dientichmiencon
ifn==1
tmpf(s)=f(xy(1),xy(2))*pvctr(1,:)*[1xy];
end
end
A12(iNb,n)=tmpg*abs(dS);%Pt.(8),(9)
end
d(iNb)=tmpf*abs(dS);%Pt.(10)
end
d=dA12(1:Ni,1:Nb)*c(1:Nb);%Pt(10)
c(Nb+1:Nn)=A12(1:Ni,Nb+1:Nn)\d;%Pt.(7)
fors=1:Ns
forj=1:3
U(s,j)=c*p(:,s,j);%Pt.(6)
end
end

TrckhidngFEMgiimtPDEtaxemthhmcs(hmhnhdng)
n(x,y)ivimintn=1,2,...,Nncnhnghaivittcccmin
conhnhtamgicsaochonbng1chtintnvbng0ticcntkhc
c to bi hm fembasisfth() hot ng nh th no. Ta s v hm hnh
dngcamincchiathnh4tamgicnhhnhsau:

1
n=2

Tocant: Sntmimincon
S1
n=1

N=[11;

S=[125;
n=5
S4

11;235;
S2
0

11;345;
S
3

11;145];

00.5];

n=4
n=3

1
1
0

427

theo hai cch. Trc ht ta to cc hm c s bng cch dng hm


fembasisftn() v v mt hm trong s bng cch dng lnh MATLAB
mesh()nhhnha.Thhai,khngtorahmcs,tadnglnhMATLAB
trimesh()vcchmhnhdngchoccntn=2,3,4v5nhhnhbe.
Hnhflthcathptuyntnhcacchmcs:

Nn

u(x,y) = [ c ] [ (x,y)] = c n n (x, y)


T

(15)

n =1

ctrscntimintn.Tachychngtrnhctshowbasic.m:

clearall,clc
N=[11;11;11;11;0.20.5];%danhsachcacnuttrenhinh1
Nn=size(N,1);%sonut
S=[125;235;345;145];%danhsachcamiencontrenhinh1
Ns=size(S,1);%somiencon
figure(1),clf
fors=1:Ns
nodes=[S(s,:)S(s,1)];
fori=1:3
plot([N(nodes(i),1)N(nodes(i+1),1)],...
[N(nodes(i),2)N(nodes(i+1),2)])
holdon
end
end
ins=[12345];%danhsachcacnutmacachamcosoduocve
foritr=1:5
in=ins(itr);
ifitr==1
fori=1:length(xi)
forj=1:length(yi)
Z(j,i)=0;
fors=1:Ns
ifinpolygon(xi(i),yi(j),N(S(s,:),1),N(S(s,:),2))>0
Z(j,i)=p(in,s,1)+p(in,s,2)*xi(i)+p(in,s,3)*yi(j);
break;
end
end
428

end
end
subplot(321),mesh(xi,yi,Z)%hamcosocuanut1
else
c1=zeros(size(c));
c1(in)=1;
subplot(320+itr)
trimesh(S,N(:,1),N(:,2),c1)%hamcosocuacacnut25
end
end
c=[01230];%cacgiatritaicacnut
subplot(326)
trimesh(S,N(:,1),N(:,2),c)%hamtonghopohinhf
1

0.5

0.5

0
1

0
-1 -1

0
1

-1 -1

0.5

0.5

0
1

-1 -1

0
1

0.5

0
1

0
-1 -1

0
1

-1 -1

0
-1 -1

c=[01230];
p=fembasisftn(N,S);
x0=1;
xf=1;
y0=1;
yf=1;%cacmien
figure(2),clf
Mx=50;
429

My=50;
dx=(xfx0)/Mx;
dy=(yfy0)/My;
xi=x0+[0:Mx]*dx;
yi=y0+[0:My]*dy;

Vd:GiiphngtrnhLaplace:
2 u(x, y) 2 u(x,y)

2 u(x, y) =
+
= f(x,y)
x 2
y 2
trnmin 1 x 1; 1 y 1vi:

f(x,y)= +1
0

vi(x,y)=(0.5,0.5)
vi(x,y)=(0.5,0.5)

(1)

(2)

ccchkhc

viukinbinlu(x,y)=0timiimtrnbin.

430

giibitonnybngFEM,taxcnh12imtrnbinv19imbn
trong,nhschngvchiaminchnhtthnh36minconhnhtamgic
nhhnhvtrn.Tiptheotaxydngchngtrnh ctlaplace.mgiibi
ton

clearall,clc
N=[10;11;1/21;01;1/21;11;10;11;1/21;01;
1/21;11;1/21/4;5/87/16;3/45/8;1/25/8;
1/45/8;3/87/16;00;1/21/4;5/87/16;3/45/8;
1/25/8;1/45/8;3/87/16;9/1617/32;7/1617/32;
1/27/16;9/1617/32;7/1617/32;1/27/16];%nut
Nb=12;%sonuttrenbien
S=[11112;11119;101119;4519;5719;567;1215;2315;
31517;3417;41719;131719;11319;11315;7822;8922;
92224;91024;101924;192024;71920;72022;131418;
141516;161718;202125;212223;232425;142628;
162627;182728;212931;232930;253031;
262728;293031];%miencontamgiac
fexemp=(norm([xy]+[0.50.5])<0.01)(norm([xy][0.50.5])<0.01);
f=inline(fexemp,x,y);%(Pt.2)
g=inline(0,x,y);
Nn=size(N,1);%tongsonut
Ni=NnNb;%sonutbentrong
c=zeros(1,Nn);%giatritrenbien
p=fembasisftn(N,S);
[U,c]=femcoef(f,g,p,c,N,S,Ni);
%dothiluoitamgiac
figure(1);
clf;
trimesh(S,N(:,1),N(:,2),c);
%dothiluoichunhat
Ns=size(S,1);%tongsomiencontamgiac
x0=1;
xf=1;
y0=1;
yf=1;
431

Mx=16;
dx=(xfx0)/Mx;
xi=x0+[0:Mx]*dx;
My=16;
dy=(yfy0)/My;
yi=y0+[0:My]*dy;
fori=1:length(xi)
forj=1:length(yi)
fors=1:Ns
ifinpolygon(xi(i),yi(j),N(S(s,:),1),N(S(s,:),2))>0
Z(i,j)=U(s,:)*[1xi(i)yi(j)];%Pt.(4.5b)
break;
end
end
end
end
figure(2);
clf;
mesh(xi,yi,Z)
%desosanh
bx0=inline(0);
bxf=inline(0);
by0=inline(0);
byf=inline(0);
D=[x0xfy0yf];
[U,x,y]=poisson(f,g,bx0,bxf,by0,byf,D,Mx,My,1e6,50);
figure(3)
clf;
mesh(x,y,U)

6.GUICAMATLABGIIPDE
1.CcphngtrnhcthgiicbngPDETOOL:CngcPDETOOL
caMATLABcthdnggiiccloiphngtrnhsau:

a.Phngtrnhelliptic:Tasgiiphngtrnhelliptic

(cu) + au = f

(1)
viiukinbn:
432

hu = r
r
ncu+qu=g

Dirichlet

(2)
Neumann
r
trnbin,trong n lvectphptuyn.

Trongtrnghpulilngvhng,phngtrnh(1)trthnh:
2 u(x, y) 2 u(x,y)

(3)
c
+

+ au(x, y) = f(x,y)
2
y 2
x
vnuiukinbiniviphnbinbntriliukinbinNeumann
u(x,y)
dng
= bx0 (y) th(2)cthvitthnh:
x x=x0
r u(x,y) r u(x,y) r
ex +
e y + qu(x,y)
e x c
x
y

(4)
u(x, y)
= c
+ qu(x,y) = g(x,y)
x
r r
vvectphptuyncabinphil n = e x

b.Phngtrnhparabolic:Taxgiiphngtrnh:
u

(cu) + au + d
= f

(5)
t
trnminvtrongkhongthigian0tT,viiukinbnging(2)v
iukinuu(t0)
c.Phngtrnhhyperbolic:

2u
(cu) + au + d 2 = f

(6)

t
trnminvtrongkhongthigian0tT,viiukinbnging(2)v
iukinuu(t0),u(t0)
d.Phngtrnhgitrring:

u
(cu) + au =

(7)
t
trnminvimtgitrringchabitviukinbintngt(2).

CngcPDETOOLcngcthdnggiihphngtrnhdng:
(c11u1 ) (c12u 2 ) + a11u1 + a12 u 2 = f1

(8)

(c 21u1 ) (c 22u 2 ) + a 21u1 + a 22 u 2 = f2


trnminviiukinbinDirichlet:
h11 h12 u1 r1

(9)
h
u = r
h
22 2
2
21

hayiukinNeumanntngqut:
433

r
r
n(c11u1 ) + n(c12u 2 ) + q 11u1 + q 12 u 2 = g 1

r
r
n(c 21u1 ) + n(c 22u 2 ) + q 21u1 + q 22 u 2 = g 2
hayiukinbinhnhp:
f1
c11 c12
a11 a12

c=

a=

f =

c 21 c 22
a 21 a 22
f2

h11
h=
h 21

h12

h 22

r1
r =
r2

q 11 q12
q=

q
q
21
22

(10)

u1
u =
u2
g 1
g =
g 2

2.SdngPDETOOL:PDETOOLgiiphngtrnhviphnohmring
bng cch dng phng php FEM. gii phng trnh ta theo cc bc
sau:
) Nhp lnh pdetool vo ca s lnh MATLAB. Ca s PDE toolbox
xuthin.Tacthbt/tttuchnGridbngcchbmvo Gridtrn
menu Option.Tacngcthhiuchnhphmvitrcxvybngcch
chnAxesLimittrongnemuOption

Numunchocchnhgnvoli,tachn Snaptrongmenu Option.


Numuntlxchcatrcxvtbngnhauhnhtrnnhnkhng
ginghnhelliptachnAxesEqualtrongmenuOption.
) v min ta dng menu Draw hay cc icon trn thanh cng c
ngayphadiccmenu.
)tiukinbintadngmenu Boundaryhayicon.Tabm
lntngonbintiukinchon.
434

)Tiptheotatolibngcchdngmenu Meshhayicon.tinh
chnhlitabmvoRefineMeshhayicon
) Tip theo ta m t dng phng trnh v cc thng s ca n bng
cch dng menu PDE. Mun th, ta m menu PDE hay chn icon PDE
vchnPDESpecificationvchoccthamscaphngtrnh.
)giiphngtrnhtadngmenu Solvehaychnicon=.Tachn
menu con Parameters nhp iu kin u v khong thi gian tm
nghim
)Numunvktqu,tadngmenuPlot

3.Mtsvd:
a.Vd1:GiiphngtrnhLaplace:

2 u(x,y) 2 u(x, y)
2 u(x, y) =
+
= 0

(vd1.1)
x 2
y 2
trongmin0x4,0y4vicciukinbin:
u(4,y)=eycos4e4cosy

(vd1.2)

u(0,y)=eycosy
u(x,4)=e4cosxexcos4

(vd1.3)
u(x,0)=cosxex
giiphngtrnhtathchinccbcsau:
McngcPDETOOL.VomenuOption|AxesLimithiuchnh
li phm vi gi tr ca x v y l [0 5] ri chn Apply v Close. Chn
Option|AxesEqual
Bmvoiconvhnhvung.Khivxong,nuchangkch
thctabmpvoitngbygictnlR1hiuchnhli
thnhLeft:0,Bottom:0,Height:4,Width:4.
Bmvoiconthngbincaitngcmu.Trnmi
onbintachoiukinbintheo(vd1.2)v(vd1.3).ghiiukin
binchoonnotabmpchutlnon.iukinbincho
liukinbinDirrichlet.Trnbintri,taghiiukinbin:
h=1,r=exp(y)cos(y)
trnbinphi:
h=1,r=eycos4e4cosy
trnbindi:
h=1,r=cosxex
vtrnbintrn:
h=1,r=e4cosxexcos4
435

BmpchutvoiconPDEvchnphngtrnhdngellipticv
ccthngstheo(vd1.1):c=1,a=0,f=0
Bmpchutvoicontolivsautinhchnhn.
Bmpchutvoicon=giiphngtrnh.
VomenuPlot|Parameterschncchvvsauvraktqu

b.Vd2:Giiphngtrnhparabolic:
2
2 u(x,y,t) u(x,y,t)
4 u(x,y,t)
+
10

=
2
2

x
y
t

(vd2.1)

trongmin0x4,0y4v0t5000vicciukinuviu
bin:

u(x,y,0)=0

(vd2.2a)
y
x

(vd2.2b)

u(x,y,t)=e cosxe cosyvix=0,x=4,y=0,y=4


giiphngtrnhtatheoccbcsau:
McngcPDETOOL.VomenuOption|AxesLimithiuchnh
li phm vi gi tr ca x v y l [0 4] ri chn Apply v Close. Chn
Option|AxesEqual
Bmvoiconvhnhvung.Khivxong,nuchangkch
thctabmpvoitngbygictnlR1hiuchnhli
thnhLeft:0,Bottom:0,Height:4,Width:4.
Bmvoiconthngbincaitngcmu.Trnmi
onbintachoiukinbintheo(vd2.2b).ghiiukinbincho
onnotabmpchutlnon.iukinbincholiu
kinbinDirrichlet.Trnbintri,taghiiukinbin:
h=1,r=exp(y)cos(y)
trnbinphi:
h=1,r=eycos4e4cosy
trnbindi:
h=1,r=cosxex
vtrnbintrn:
h=1,r=e4cosxexcos4
BmpchutvoiconPDEvchnphngtrnhdngparabolic
v cc thng s theo (vd2.1): c = 1e4, a = 0, f = 0, d = 1. Trong menu
Solve|ParameterstaghiTime:0:100:5000,u(t0)=0(iukinu).
Bmpchutvoicontolivsautinhchnhn.
Bmpchutvoicon=giiphngtrnh.
436

VomenuPlot|Parameterschncchvvsauvraktqu

c.Vd3:Giiphngtrnhhyperbolic:
1 2 u(x,y,t) 2 u(x,y,t) 2 u(x,y,t)

=
2
x 2
y 2

4
t

(vd3.1)

trongmin0x2,0y2v0t2vicciukinbinzeroviu
kinu:
u(0,y,t)=0
u(2,y,t)=0
u(x,0,t)=0
u(0,2,t)=0
(vd3.2)
u(x,y,0)=0.1sin(x)sin(y/2)
u/t(x,y,0)=0vit=0

(vd3.3)
giiphngtrnhtatheoccbcsau:
McngcPDETOOL.VomenuOption|AxesLimithiuchnh
li phm vi gi tr ca x v y l [0 2] ri chn Apply v Close. Chn
Option|AxesEqual
Bmvoiconvhnhvung.Khivxong,nuchangkch
thctabmpvoitngbygictnlR1hiuchnhli
thnhLeft:0,Bottom:0,Height:2,Width:2.
Bmvoiconthngbincaitngcmu.Trnmi
onbintachoiukinbintheo(vd3.2).ghiiukinbincho
onnotabmpchutlnon.iukinbincholiu
kinbinDirrichlet.Trnbintri,taghiiukinbin:
h=1,r=0
trnbinphi:
h=1,r=0
trnbindi:
h=1,r=0
vtrnbintrn:
h=1,r=0
BmpchutvoiconPDEvchnphngtrnhdngparabolic
vccthngstheo(vd2.1):c=1/4,a=0,f=0,d=1.TrongmenuSolve
|ParameterstaghiTime:0:0.1:2,u(t0)=0.1*sin(pi*x).*sin(pi*y/2).
Bmpchutvoicontolivsautinhchnhn.
Bmpchutvoicon=giiphngtrnh.
VomenuPlot|Parameterschncchvvsauvraktqu

437

You might also like