16/09/2015
4
Nguyen Quang Hoang
Department of Applied Mechanics
Phương trình vi phân cấp cao
13
( )
(
1)
( , , , ,...,
)
n
n
n
n
d x
x
f t x x x
x
dt
0
0
(
1)
(
1)
0
(0)
(0)
...
(0)
n
n
x
x
x
x
x
x
Xét 1
phương trình vi phân cấp n.
Các điều kiện đầu
Đặt các biến mới và hạ bậc
0
1
2
2
3
( , ),
(0)
[ , ,...,
] ,
[ , ,..., , ( , )]
T
T
n
n
d
t
dt
y y
y
y y
y f t
y
y
f
y
y
y
y
f
y
1
2
(
2)
1
(
1)
,
,
...
n
n
n
n
y
x
y
x
y
x
y
x
1
2
2
3
(
1)
1
( )
1
...
( , ,..., )
n
n
n
n
n
n
y
x
y
y
x
y
y
x
y
y
x
f t y
y
Hay viết gọn lại dạng véc tơ
Nguyen Quang Hoang
Department of Applied Mechanics
Phương trình vi phân cấp cao
14
Ví dụ hạ bậc phương trình vi phân cấp 2 sau
0
( , , ),
( , , )
sin
x
f t x x
f t x x
bx cx
F
t
Đặt các biến mới và hạ bậc
1
2
,
,
y
x
y
x
1
2
2
1
2
( , , )
y
x
y
y
x
f t y y
1
2
2
2
1
0
sin
y
y
y
by
cy
F
t
Cụ thể trong trường hợp trên
1
2
2
2
1
0
,
( , )
sin
y
y
t
y
by
cy
F
t
y
f
y
( , )
t
y
f
y
Nguyen Quang Hoang
Department of Applied Mechanics
15
function ydot = daodong1dof(t,y)
% t =1; y = [1; 2]
m = 1; b = 0.0; c = 16;
F0 = 10; Ome = 4.1;
ydot = zeros(2,1);
Ft = F0*sin(Ome*t);
ydot(1) = y(2);
ydot(2) = 1/m*(Ft - b*y(2) - c*y(1));
end
>> [t, y] = ode45('daodong1dof',
[0:0.01:100], [1, 2])
>> plot(t,y(:,1))
0
10
20
30
40
50
60
70
80
90
100
-10
-5
0
5
10
Nguyen Quang Hoang
Department of Applied Mechanics
16
function ydot = vibr1dof(t,y,
m,c,k,F0, Ome
)
ydot = zeros(2,1);
Ft =
F0
*sin(
Ome
*t);
ydot(1) = y(2);
ydot(2) = 1/
m
*(Ft -
c
*y(2) -
k
*y(1));
end
>> [t, y] = ode45(
@(t,y)
vibr1dof(
t,y
,
m,c,k,F0, Ome
), [0:0.01:100], [1, 2])
>> [t, y] = ode45(
@(t,y)
vibr1dof(
t,y
,
1, 0.1,16,10, 4.1
), [0:0.01:100], [1, 2])
>> plot(t,y(:,1))
0
sin( )
mx
cx
kx
F
t
1
2
2
0
2
1
1
sin( )
y
x
y
y
x
F
t
cy
ky
m
Ví dụ hệ dao động 1dof