1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo quá trình và kết quả làm bài tập

38 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo quá trình và kết quả làm bài tập về MATLAB Programming và SIMULINK
Tác giả Đoàn Thơ Anh
Người hướng dẫn Hoàng Đức Quý, GV hướng dẫn
Trường học Trường Đại học Giao thông vận tải Tp. HCM
Chuyên ngành Giao thông vận tải
Thể loại Bài tập
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 38
Dung lượng 2,05 MB

Cấu trúc

  • 4. Sử dung ham “disp” đề hiền thị ma trận A, hàng thứ hai của A (B) và giá trị (11)
  • 5. Sử dụng hàm “plot” đề vẽ đồ thị của (yL), (y2) và (y3) trong cùng một trục (12)
  • 1. Tạo một mảng “x” từ 0 đến () với bước (0.01) để tạo ra một dãy các giá trị ce (14)
  • Phan 2: Phan 2: FUNCTION (15)
    • 4. Phép kết hợp (&) giữa hại điều kiện đảm bảo cả hai điều kiện đều phải đúng (19)
  • Lớp 2 Lớp 2 (26)
    • 5. Sử dụng khối "Produet" đề tính nghiệm x2 (30)

Nội dung

® Kết quả: Sau khi chạy đoạn mã trên, biên y sẽ chứa giá trị của biêu thức đã tính: Name Value ® Kết luận: Sử dụng các hàm tính toán sẵn có trong MATLAB, chúng ta có thê đễ dàng tính to

Sử dung ham “disp” đề hiền thị ma trận A, hàng thứ hai của A (B) và giá trị

giao của hàng thứ ba và cột từ một đên hai của A (C) ® Kết quả:

Sau khi chạy đoạn mã trên, bạn sẽ nhận được kết quả như sau:

Giá trị giao của hàng thứ 3 và cột 1,2 của A (C):

Sử dụng MATLAB, chúng ta có thê thực hiện truy cập và tính toán trên ma trận một cách đễ dàng Điều nảy giúp chúng ta thực hiện các phép tính vả trích xuất thông tin từ ma trận một cách hiệu quả và chính xác

Cau 8: Cho x = 0> matrix = input( Ap ma tran: '); result = count_ ents (matrix);

1sp(['Sô r hêt cho 5 và >= 5 trong ma tran: ', num2str (result) ]) whe ma trận: [2,3,5;75,6,8;9,7,7] số phần tử chia hết cho 5 va >= 5 trong ma tran: 2 2 fe > |

Trong ví dụ này, có 4 phần tử trong ma trận thỏa mãn cả hai điều kiện được xác dinh trong ham

Ham “ count elements ” trong MATLAB cho phép ching ta dém s6 phan tử trong ma tran thỏa mãn một loạt điêu kiện Điêu này có thê hữu ích trong việc phân tích và xử lý dữ liệu trong môi trường lập trình

Hàm lắc xúc xắc sẽ trả về giá trị của mỗi viên xúc xắc và in ra kết quả "Bạn thật may mắn" nếu tổng giá trị của 2 viên xúc xắc lớn hơn 10.

Việc tạo ra và kiêm tra sự may mãn thông qua việc lắc xúc xắc là một khía cạnh thú vị trong lập trình Trong bài viết này, chúng ta sẽ tìm hiệu về hàm roll_ dice trong MATLAP, được sử dụng đề mô phỏng việc lắc hai viên xúc xắc và kiêm tra két qua may man

@ Lac xtc xac va kiém tra may man trong MATLAB:

Dưới đây là một đoạn mã thực hiện hàm “ roll_ dice ” đề lắc hai viên xúc xắc va kiêm tra may mắn: function [dicel, dice2] = roll_dice()

% Ham lac 2 viên xúc xắc

% Trả về giá trị của mỗi viên xúc xắc va in ra kết quả may mắn dicel = randi([1, 6]); dice2 = randi([1, 6]); total = dicel + dice2; fprintf('Van may cua ban: Vién xúc xac 1: %d, Vién xtc xdc 2: %d\n', đicel, dice2); if total > 10 disp( Bạn thật may mắn); end end Trong đoạn mã này:

1 Hàm “ roll đice ” được định nghĩa mả không có tham số đầu vào

2 Hai viên xúc xắc được mô phỏng bằng cách sử dung ham “ randi([L, 6]) ” dé tạo ngẫu nhiên một số nguyên trong khoảng từ 1 dén 6

3 Tông của hai viên xúc xắc được tính đê kiêm tra xem có thê thê hiện may man hay không

4 Kêt quả của việc lắc xúc xắc và tông điệm được hién thi bang ham “ fprintf ằ

5 Nếu tông điểm lớn hơn 10, một thông báo về may mắn được hiển thị bằng ham “ đisp ” ® Ví dụ sử dụng và kết quả:

Chúng ta có thê sử dụng hàm “ roll_ dice ” đề thực hiện việc lắc xúc xắc và kiêm tra may mắn:

>> [dicel result, dice2 result] = roll dice();

Vận may của bạn: Viên xúc xắc 1: 3, Viên xúc xắc 2: 2

>> [dicel result, dice2 result] = roll dice();

Vận may của bạn: Viên xúc xắc 1: 1, Viên xúc xắc 2: 2

>> [dicel result, dice2 result] = roll dice();

Vận may của bạn: Viên xúc xắc 1: 5, Viên xúc xắc 2: 2

>> [dicel result, dice2 result] = roll dice();

Vận may của bạn: Viên xúc xắc 1: 6, Viên xúc xắc 2: 5 fx Ban that may man!

Kêt quả sẽ hiện thị giá trị của từng viên xúc xắc và thông báo về may măn (nêu có) ® Kết luận:

Hàm roll_ dice ” trong MATLAB cho phép chúng ta mô phỏng việc lắc xúc xắc, tính tổng điểm và kiểm tra may mắn dựa vảo kết quả Điều này có thê thú vị trong việc tạo ra các trò chơi hoặc mô phỏng các tình huồng ngẫu nhiên

Câu 5: Cho số lượng sinh viên bằng N, viết một chuong trinh MATLAB tra về, gia su sv dau neu điem >5:

1 Số lượng sinh viên đậu 2 Số lượng sinh viên rớt 3 Dé thị tần suất theo thang điểm từ 0 - 10 ® Tiêu đề: Chương trình nhập điểm và phân tích đữ liệu điểm của sinh viên trong MATLAB ® Giới thiệu:

Phân tích dữ liệu điểm của sinh viên là một phan quan trong trong việc đánh giá hiệu suất học tập Trong bải viết nảy, chúng ta sẽ tìm hiểu về hàm main() trong MATLAB, được sử dụng để nhập điểm của sinh viên, tính toán số lượng sinh viên đậu và rớt, và vẽ biểu đồ tần suất của điểm ® Chương trình nhập điểm và phân tích dữ liệu điểm của sinh viên trong MATLAB:

Dưới đây là một đoạn mã thực hiện chương trình main() dé nhap diém của sinh viên, phân tích dữ liệu va vẽ biêu đồ tần suất: function main()

% Nhập số lượng sinh viên

N =input(Nhập số lượng sinh viên: ');

% Khởi tạo mảng chứa điểm của các sinh viên diem = zeros(N, 1);

% Nhập điểm của từng sinh viên fori=1:N diem(i) = input(['Nhap diém cua sinh vién ', num2str(1), ': ']); end

% Số lượng sinh viên đậu và rớt sv_dau = sum(diem > 5); sv rot=N-sv đau; fprintf(Sô lượng sinh viên đậu: %od\n', sv_dau); fprintf'Sô lượng sinh viên rớt: %odàn', sv_rot);

% Độ thị tần suất histogram(diem, II, `Normalization', 'probability'); title(Độ thi tần suất điểm); xlabel(‘Diém’); vlabel('Tàn suất); xlim([0, 10]); ylim([0, 1);

% Hiên thị biêu đồ erid on; legend('Tan suat’); end Trong đoạn mã này:

1 Hàm “ main() ” được định nghĩa mà không có tham số đầu vảo

2 Số lượng sinh viên N được nhập từ người dùng bằng hàm “ input”

3 Máng “ diem” được khởi tạo với kích thước N đê lưu trữ điêm của các sinh viên

4 Vòng lặp “ for” được sử dụng đề nhập điểm của từng sinh viên và lưu vào mảng diem

5 Số lượng sinh viên đậu và rớt được tính toán bằng ham “ sum(diem >

6 Két qua về số lượng sinh viên đậu và rớt được hiển thị bằng hàm

7 Biêu đồ tân suât cua di¢m duoc vé bang ham “histogram” voi tham so

“Normalization” la “probability” dé hién thi tan suat trong do1

8 Các thông tin về biểu đồ và trục được định dạng bằng cac ham title, xlabel, ylabel, xlim, ylim, grid on va legend ® Ví dụ sử dụng và kết quả:

Chúng ta có thế sử dụng chương trình main() đề nhập điểm và phân tích đữ liệu điêm của sinh viên:

TEEN Nhập điểm của sinh viên 11: 6

>> analyze_student_scores Nhập điểm của sinh viên 12: 8 Nhập số lượng sinh viên: 20 Nhập điểm của sinh viên 13: 6 Nhập điểm của sinh viên 1: 7 Nhập điểm của sinh viên 14: 7 Nhập điểm của sinh viên 2: 6 Nhập điểm của sinh viên 15: 8 Nhập điểm của sinh viên 3: 8 Nhập điểm của sinh viên 16: 7 Nhập điểm của sinh viên 4: 9 Nhập điểm của sinh viên 17: 7 Nhập điểm của sinh viên 5: 10 a 2 + as Nhập điểm của sinh viên 18: 5 T Nhập điệm cua sink viền 6: 6 Nhập điểm của sinh viên 19: 10

Nhập điệm cua sinh viền Tá Nhập điểm của sinh viên 20: 10

Nhập điêm của sinh viên 8: 5 a : ra ˆ

7 2 : ca Sô lượng sinh viên đậu: 17 Nhập điêm của sinh viên 9: 6 Số 1 inh viê ớt: 3 Nhập điểm của sinh viên 10: 7 Ơ tượng sinh wisn Foe:

Đồ thị tần suất điểm

Kêt quả sẽ hiện thị sô lượng sinh viên đậu và rớt cùng với biêu đồ tân suât diém cua sinh viên

Chương trình “main()” trong MATLAB cho phép chúng ta nhập điểm của sinh viên, phân tích đữ liệu và vẽ biểu đồ tần suất Điều nảy có thé hữu ích trong việc đánh giả hiệu suất học tập của các sinh viên và thé hiện phân phối điểm trong lớp học

Câu 6: Mở rộng bài 2 bằng cách cho đầu vào là một ma trận A = (m, n) Trong đó, m là số hàng đại diện cho số lớp học môn KTPM& ứng dụng, n là sô cột đại diện điểm số sinh viên mỗi lớp Giả sử mỗi lớp có số sinh viên bằng nhau n Viết hàm MATLAB function trả về:

1 Số lượng sinh viên đậu của mỗi lớp 2 Số lượng sinh viên rớt của mỗi lớp 3 Dé thị tần suất theo thang điểm 0 - 10 của mỗi lớp ® Tiêu đề: Phân tích điểm sinh viên theo từng lớp và vẽ biểu đồ tần suất trong MATLAB ® Giới thiệu:

Phân tích điểm của sinh viên theo từng lớp và thê hiện phân phối điểm bằng biểu đồ tần suất là một cách quan trọng để đánh giá hiệu suất học tập của từng lớp Trong bài viết nay, chung ta sẽ tim hiểu vé ham A trong MATLAB, duoc st dung đề nhập số lượng lớp học, số lượng sinh viên trong mỗi lớp và điểm cho từng sinh viên, sau đó thực hiện phân tích và vẽ biêu đồ tần suất điểm của sinh viên theo từng lớp ® Phân tích điểm sinh viên theo từng lớp và vẽ biểu đồ tần suất trong MATLAB

Dưới đây là một đoạn mã thực hiện hàm A dé nhap số lượng lớp học, số lượng sinh viên trong môi lớp và điểm cho từng sinh viên, sau đó thực hiện phân tích và vẽ biéu do tan suat: function AQ)

% Hàm phân tích điểm sinh viên cho từng lớp

% Nhập số lượng lớp và điểm cho từng sinh viên trong mỗi lớp

% ]n ra số lượng sinh viên đậu, số lượng sinh viên rớt,

Lớp 2

Sử dụng khối "Produet" đề tính nghiệm x2

giải phương trình bậc 2 ax^2+bx+c=0 th1: a=0 th2:b=0,c0 có 2 nghiệm phân biệt:

1/2 J th3: delta0) x1=(-b-sqrt(delta))/(2*a); x2=(-b+sqrt(delta))/(2*a); elseif (delta==0) xI=-b(2*a); x2=-b/(2*a); else xl=0; x2=0; delta=0; end

-Từ đó xuất ra kết quả xI,x2,deltal ® Ket qua:

Bang cach str dung ca hai cach tiép cận, chúng ta có thể mô phóng quá trình giải phương trình bậc 2 va kiểm tra tính chính xác của kết quả So sánh hiệu suất vả tính linh hoạt của hai cách tiếp cận đề thấy rằng việc sử dụng khối M-function có thê là cách tốt hơn trong việc tích hợp mã MATLAB phic tap va tái sử dụng trong các mô hình mô phỏng phức tạp hơn

Bải toán mô phỏng giải phương trình bậc 2 băng Simulink đã cho thấy sự mạnh mẽ và linh hoạt của công cụ nảy trong việc mô phỏng và kiếm tra các khía cạnh của các hệ thông Sự kết hợp giữa khối tính toán cơ bản và khối M-function đã giúp chúng ta thực hiện mô phỏng một cách hiệu quả và tùy chỉnh cho bải toán cụ thé

Bài 2: Dùng simulink mô phỏng bải toán tính số sinh viên đậu/ rớt Lưu ý: sử dụng khôi display đề hiện thị sô sv đậu và sô sv rớt, không vẽ biéu do tan suat

Tiêu Đề: Mô phỏng tính số sinh viên đậu/rớt bằng Simulink

Chung ta sé su dung Simulink dé tạo mô hình và sử dụng khối "Display" để hiện thị sô lượng sinh viên đậu và sô lượng sinh viên rớt

Code M-fil establishes the parameters using the while (true) loop It takes user input for the number of students (N) and their respective grades (a, b, c, d, e, f, g, j, q, k) The program checks if the sum of students with different grades exceeds N If the condition is met, it returns a result.

30 disp(‘moi nhap lai:'); end simOut=sim(‘untitled.slx'); svdau=erfrp+J+q+k; svrot=a+b+c+d; end

>> Untitled nhap al nhap b7 nhap c12

Các số hữu tỉ là: 1/2, -1, 1, -1/3, 2.

- code fen function function [dau,rot] dau=etfte++qtk; rof=a+b+c+d; ® Ket qua: end diem dien dien diem dien diem 6 diem diem diem dien h la:

" fu BPRRPB RHE BBB la:1

Bằng cách sử dụng Simulink và các khối tương ứng, chúng ta có thê thực hiện việc tính toán và hiện thị sô lượng sinh viên đậu và rớt một cách trực quan ® Kết(luận:

Bải toán mô phỏng tính số sinh viên đậu/rớt bằng Simulink đã thê hiện tính đơn giản và linh hoạt của công cụ này trong việc tạo các mô hình đơn giản

Câu 3: Dùng Simulink mô phỏng lại quá trình săn mỗi của chim ưng Biết phương trình chuyển động của quá trình này được mô tả bằng phương trình

A là điện tích cánh bằng 0.0123

Cd là hệ số cản bằng 0.1 ứ là gia tốc trọng trường bằng 9.81 (m/s2) m là khối lượng bằng | (kg) tho băng 1.225

*Nhận xét kết quả trên khối scopeclc ; ®_ Tiêu Đề: Mô phỏng Quá trình Săn Môi của Chim Ung bang Simulink ® Giới thiệu:

Trong bài này, chúng ta sẽ mô phỏng quá trình săn mỗi của chim ưng bang Simulink Quá trình này được mô tả bằng phương trình chuyển động cụ thê

Chung ta sé str dung Simulink dé tao mé hinh va khéi "Scope" dé quan sat va nhan xét két qua

Mô phỏng quá trình săn mỗi của chim ưng:

Li fa ® Kết Quả: ® Nhận xét kết quả trên khối Scope:

Kết quả mô phỏng sẽ hiển thị biểu đồ vị trí và vận tốc của chim ưng theo thời gian Bằng cách xem biểu đồ trên khối Scope, chúng ta có thế nhận xét về hành vi của chim ưng trong quá trình săn môi Cụ thế, chúng ta có thể quan sát làm thế nao chim ung tac d6ng vao van tốc và vị trí cla minh dé tiếp can va san mỗi ® Kết luận:

Bài toán mô phỏng quá trình săn mồi của chim ưng sử dụng Simulink là minh chứng mạnh mẽ cho sức mạnh và sự linh hoạt của công cụ này trong việc mô hình hóa các quá trình vật lý phức tạp.

Nếu chim ưng cách mặt đất trên 15 mét (lfh >= 15), chim sẽ mở rộng cánh Hành vi này được miêu tả bằng dòng lệnh: Return the results.

Gia str ban dau chim ung cach mat dat 100m, van téc ban dau -10 (m/s) Nhận xét kết quả trên khôi scope

100 h 4 od fon AN T code fen-function: function [ed,A] = fen(h) if (h>) cd=0.1;

End - _ Kết quả mô phỏng:

Ngày đăng: 16/09/2024, 15:28

HÌNH ẢNH LIÊN QUAN

Đồ thị tần suất lớp  { - báo cáo quá trình và kết quả làm bài tập
th ị tần suất lớp { (Trang 26)
0  Đồ thị tân  suất lớp  3 - báo cáo quá trình và kết quả làm bài tập
Đồ thị tân suất lớp 3 (Trang 27)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w