Documente Academic
Documente Profesional
Documente Cultură
Ecuaţia următoare
∂ u ∂2u
−a 2 x , t = f x ,t (1)
∂t ∂ x2
descrie propagarea căldurii într-un mediu unidimensional. Domeniul pe care se
caută de obicei solutia este
D ={( x , t ) ∈R 2 ;0 < x < l ;0 < t <∞} (2)
Pentru a avea soluţie unică următoarele condiţii suplimentare se impun:
u( x ,0) = u0 ( x ) (3)
u( 0, t ) = ϕ1 ( t ) (4)
u( l , t ) = ϕ2 ( t ) (5)
Condiţia (3) se numeste condiţie iniţiala, condiţiile (4) şi (5) se numesc condiţii
la limită. Există formule care dau soluţia ecuaţiei (1) în domeniul (2) şi care
satisfac condiţiile (3)-(5), sub formă de serii, care sunt însă slab convergente.
Rezolvarea numerică constă în divizarea domeniului într-o reţea cu pasul h după
x şi cu pasul q după t, ca în figură:
t
tj
O xi l x
Sistemul se scrie:
A u j + B u j + C u j = D i = 1,2,...n − 1
i i− 1 i i i i+ 1 i
j
u0 = ϕ 1 ( j q)
j (7)
un = ϕ 2 ( j q)
unde:
Ai = a 2 ( xi , t j )r , Bi = −2a 2 ( xi , t j )r − 1 Ci = a 2 ( xi , t j )r
Di = −ui j −1 − q f ( xi , t j ) (8)
q
si unde r =
h2
Fie n=l/h numărul de noduri pe orizontal. Din condiţiile (3)-(5) cunoaştem
ui0 = u0 ( x i )
u0j =ϕ1 (t j ) (9)
unj =ϕ2 ( t j )
Rezolvarea sistemului
Convergenţa
Urmatoarea teoremă ne asigură ca uij sunt aproximaţii bune pentru u(xi,tj), cel
putin pentru h şi q mici:
Teorema În condiţiile de mai sus avem:
j
m |ui |≤ m a m |ϕx1(at)| ma, x|ϕ 1(tx)| {ma, |u0(t)x|+ Tam x(| ,txf )|}a x
0≤ xi ≤ l 0 t ≤≤ T 0 t ≤≤ T 0 ≤≤ lx 0 ≤≤ lx
0≤ t j ≤ T 0 t≤≤ T
|| u( xi , t j ) −uij |→0 cand h →0 q →0 (14)
Inegalitatea ne asigură că uij nu cresc necontrolat, iar (14) ne asigură că uij sunt
bune aproximaţii pentru u(xi,tj), când h şi q sunt mici.
Exemplu:
Să se determine soluţia ecuaţiei căldurii:
∂ ∂2
u( x , t ) = 2 u( x , t ) , 0 < x < 1, 0 < t < 0.025
∂t ∂x
u( x , o ) = sin(π ⋅ x ) , 0 ≤ x ≤ 1
u(0, t ) = u(1, t ) = 0 , 0 < t ≤ 0.025
Rezolvare în Scilab
function f=f(x)
f=sin((%pi)*x);
endfunction
function FI=fi(t)
FI=0;
endfunction
function PSI=psi(t)
PSI=0;
endfunction
function u=Caldura(L,T,h)
//pasul pe ot
k=h*h/6;
n=L/h;
m=T/k;
//valorile pe ox
for i=1:n+1 do
x(i)=(i-1)*h;
end
//valorile pe ot
for j=1:m+1 do
t(j)=(j-1)*k;
end
//valorile lui u la momentul initial, t=0
for i=1:n+1 do
u(i,1)=f(x(i));
end
//valorile lui u pentru limita din stanga, x=0 si pentru limita din
//dreapta, x=l=1
for j=1:m+1 do
u(1,j)=fi(t(j));
u(n+1,j)=psi(t(j));
end
//valorile lui u pentru punctele interioare domeniului
for j=1:m do
for i=2:n do
u(i,j+1)=1/6*(u(i-1,j)+4*u(i,j)+u(i+1,j));
end
end
endfunction
Caldura(1,0.025,0.1)
∂u ∂2 u
Exercitiu: Găsiti soluţia ecuaţiei căldurii = a2 ( 0 < x < l ; t > 0) ce satisface
∂t ∂x 2
l
x p e n 0t r< ux ≤
2
condiţiile la limită nule şi condiţia initială este data de: u(0, x) = .
l − x p e n lt r< ux < l
2
Problema mixtă pentru ecuaţia coardei vibrante finite
∂ 2u 2 ∂ 2u
2 = a 2 , x ∈ [0,1], t > 0
∂t ∂x
u( t ,0) = u( t , l ) = 0
u(0, x ) = f ( x )
∂ u( x ,0)
= g( x )
∂t
∞
ak πt ak πt kπx
are soluţia: u( t , x ) = ∑ Ak cos l
+ Bk sin sin
l l
unde:
k =0
1 1
2 kπx 2 kπx
Ak =
l ∫ f ( x ) sin
l
dx şi Bk =
πak ∫ g( x ) sin l
dx .
0 0
Exemplu 2:În problema mixtă de mai sus considerăm a =1, l = 1, f(x) = (x-
3)/10, g(x) = 0 şi se cere soluţia pentru x=0.5 şi t=1.
Solutia în Scilab:
function y=f(x)
y=(x-3)./10;
endfunction
function y=g(x)
y=0;
endfunction
function y=CV(a,l,n,t,x)
u=0;
for k=1:n do
A(k)=2/l*integrate('f(x)*sin((k*%pi*x)/l)','x',0,1);
B(k)=2/(%pi*a*k)*integrate('g(x)*sin((k*%pi*x)/l)','x',0,1);
u=u+(A(k)*cos(k*%pi*a*t/l)+B(k)*sin(k*%pi*a*t/l))*sin(k*
%pi*x/l)
end
y=u;
endfunction
CV(1,1,10,1,0.5)
ans = 0.2657635
− x
2 0 s i x ∈ [ 0,2]
f ( x) = Se cere solutia pentru 0≤x≤1, 0≤t≤2 si graficul
x − 3 s i x ∈ ( 2,3]
1 0