Đồ án nhóm - Lập trình cho kỹ sư môn cơ sở lập trình | Đại học Văn Lang

Đồ án nhóm - Lập trình cho kỹ sư môn cơ sở lập trình | Đại học Văn Lang giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học

Đồ á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
| 1/2

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