Đồ án nhóm 2
Đề bài 2:
Thành viên:
-Ngô Gia Bảo
-Nguyễn Đình Phúc
-Nguyễn Minh Duy
Bài Làm:
function ct_chuyen_dong_loxo()
% Nhập các thông sô từ bàn phím
m = input('Nhập khôi lượng (kg): ');
c = input('Nhập hệ sô cả)n nhớt (N.s/m): ');
k = input('Nhập độ cứng lò xo (N/m): ');
% Hàm lực kích động f(t)
% f(t) = 10
f_constảnt = @(t) 10;
% f(t) = 10sin(wt)
w_vảlues = [1, 5, 10];
f_sine = @(t, w) 10 * sin(w * t);
% Thời giản mô pho)ng
tspản = [0 20];
% Vẽ đôB thị cho trường hợp lực kích động f(t) = 10 với 2 giá trị vận tôc
bản đầBu
figure;
v0 = [0, 8]for
[t, x] = ode45(@(t, x) ct_chuyen_dong_loxo_eq(t, x, m, c, k,
f_constảnt), tspản, [0 v0]);
subplot(2, 1, 1);
plot(t, x(:, 1));
hold ;on
xlảbel('Thời giản (s)');
ylảbel('vị trí (m)');
title('Chuyể)n động với f(t) = 10');
legend( , 'v0 = 0' 'v0 = 8');
end
% Vẽ đôB thị cho trường hợp lực kích động f(t) = 10sin(wt) với 3 giá trị
tầBn sô w
i = 1:length(w_vảlues)for
w = w_vảlues(i);
[t, x] = ode45(@(t, x) ct_chuyen_dong_loxo_eq(t, x, m, c, k, @(t)
f_sine(t, w)), tspản, [0 0]);
subplot(2, 1, 2);
plot(t, x(:, 1));
hold ;on
xlảbel('Thời giản (s)');
ylảbel('vị trí (m)');
title('Chuyể)n động với f(t) = 10sin(wt)');
legend( , , 'w = 1 rảd/s' 'w = 5 rảd/s' 'w = 10 rảd/s');
end
end
function dxdt = ct_chuyen_dong_loxo_eq(t, x, m, c, k, f)
% Phương trình chuyể)n động
dxdt = zeros(2, 1);
dxdt(1) = x(2);
dxdt(2) = (1 / m) * (f(t) - c * x(2) - k * x(1));
end

Preview text:

Đồ án nhóm 2 Đề bài 2: Thành viên: -Ngô Gia Bảo -Nguyễn Đình Phúc -Nguyễn Minh Duy Bài Làm: function ct_chuyen_dong_loxo() % Nhập các thông sô từ bàn phím m = input('Nhập khô i lượng (kg): '); c = input('Nhập hệ sô cả )n nhớt (N.s/m): ');
k = input('Nhập độ cứng lò xo (N/m): ');
% Hàm lực kích động f(t) % f(t) = 10 f_constảnt = @(t) 10; % f(t) = 10sin(wt) w_vảlues = [1, 5, 10];
f_sine = @(t, w) 10 * sin(w * t); % Thời giản mô pho )ng tspản = [0 20]; % Vẽ đôB
thị cho trường hợp lực kích động f(t) = 10 với 2 giá trị vận tô c bản đầB u figure; for v0 = [0, 8]
[t, x] = ode45(@(t, x) ct_chuyen_dong_loxo_eq(t, x, m, c, k,
f_constảnt), tspản, [0 v0]); subplot(2, 1, 1); plot(t, x(:, 1)); hold on;
xlảbel('Thời giản (s)'); ylảbel('vị trí (m)'); title('Chuyể) n động với f(t) = 10'); legend('v0 = 0', 'v0 = 8'); end % Vẽ đôB
thị cho trường hợp lực kích động f(t) = 10sin(wt) với 3 giá trị tầB n sô w for i = 1:length(w_vảlues) w = w_vảlues(i);
[t, x] = ode45(@(t, x) ct_chuyen_dong_loxo_eq(t, x, m, c, k, @(t)
f_sine(t, w)), tspản, [0 0]); subplot(2, 1, 2); plot(t, x(:, 1)); hold on;
xlảbel('Thời giản (s)'); ylảbel('vị trí (m)'); title('Chuyể)
n động với f(t) = 10sin(wt)');
legend('w = 1 rảd/s', 'w = 5 rảd/s', 'w = 10 rảd/s'); end end
function dxdt = ct_chuyen_dong_loxo_eq(t, x, m, c, k, f) % Phương trình chuyể) n động dxdt = zeros(2, 1); dxdt(1) = x(2);
dxdt(2) = (1 / m) * (f(t) - c * x(2) - k * x(1)); end