Sunteți pe pagina 1din 6

ECUAȚII DIFERENȚIALE ÎN MATLAB

Exemple de rezolvare

d2 y dy
Fie ecuația diferențială 2
+5 −3 y =0. (1)
dt dt

Condițiile inițiale: t=0 : y 0=0 , ẏ 0 =3 (2)


dx
! Țineți cont că derivata după timp se mai notează cu punct deasupra varibilei sau ẋ
dt
1. Vom urmări algoritmul de rezolvare descris în broșura pentru laborator (pag 145):

Vectorul varibilelor va fi: v=[ y , ẏ ] (4).



Vectorul derivatelor dv = []ÿ
(5)

Ideea pricipală este să transformăm ecuația (1) astfel încât sa exprimăm ÿ prin y și ẏ:

d2 y dy
2
+5 −3 y =0 ↔ ÿ +5 ẏ−3 y =0 ↔ ÿ=−5 ẏ+ 3 y.
dt dt

ẏ = ẏ
Acum putem rescrie vectorul derivatelor: dv = [][
ÿ −5 ẏ+ 3 y ] (6)
2. MATLAB
2.1. Declaram functia:

Și integrăm această funcție:

! Intervalul de timp se alege în dependență de condițiile problemei (de regulă timpul în care se
cercetează un anumit fenomen fizic). În cazul oscilațiilor amortizate, nu are sens să considerăm intervale
de timp după care oscilațiile încetează.

Masivul [t,v] este rezultatul rezolvării.


Se obține valoarea pentru v=[ y , ẏ ] in momentele de timp t
EXEMPLUL 2
Fie un oscilator armonic, https://ro.wikipedia.org/wiki/Oscilator_armonic

care oscilează după legea ẍ +ω20 x=0

În acest caz vorbim despre oscilații armonice libere

[][ ]
Vectorul varibilelor: v=[ x , ẋ ]. Vectorul derivatelor dv =
ẋ = ẋ
ẍ −ω20 x

Rezultatul
x este elongația oscilatorului iar ẋ – viteza pentru momentele de timp t.
Rezultatul poate fi vizualizat grafic:

Incercați sa modificați: 1. Intervalul de timp, pulsatia w0.


! În cazul când mediul opune rezistență, oscilațiile se numes amortizate.
https://phys.utcluj.ro/PersonalFile/Cursuri/CuleaCurs/Curs%203.pdf

Modificați funcția astfel încât să rezolvați acest tip de oscilații. (parametrul 2 δ îl considerați mic)
Intervalul de timp se alege astfel incat sa se observe atenuarea oscilatiilor
sound(100*v(:,1),8600)

Anexa 1
f.m:

function dvdt = f(t,v)


% Declaram vectorul v conform(4)
y = v(1);
yp = v(2);
% Generam un vector coloana de tipul (5)
dvdt = zeros(2,1);
% si il completam conform (6)
dvdt(1) = yp;
dvdt(2) = -5*yp+3*y;

procedura.m:

% Procedura de integrare
% 1. Intervalul de timp:
t = [0,0.5]; % secunde
% 2. Vectorul valorilor initiale.
% Completam un vector de tipul (4)
v0 = [0,3];
% 3. Procedura de integrare:
[t,v] = ode45('f',t,v0);
Anexa 2
f_oscil.m:
function dvdt = f(t,v)
% Vectorul variabilelor
x = v(1);
xp = v(2);
% vectorul derivatelor
dvdt = zeros(2,1);
w0 = 30; % frecventa proprie a oscilatorului
dvdt(1) = xp;
d = 0.5
dvdt(2) = -2*d*xp-w0^2*x;

procedura_oscil.m
% Procedura de integrare
% 1. Intervalul de timp:
t = [0,8]; % secunde
% 2. Vectorul valorilor initiale.
v0 = [0,3];
% 3. Procedura de integrare:
[t,v] = ode45('f_oscil',t,v0);
plot(t,v(:,1)) % prima coloana din vectorul v
grid; xlabel('t,sec');ylabel('Elongatia x, m')
title('Oscilatii amortizate')

S-ar putea să vă placă și