Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
1,86 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP GIAI ĐOẠN CHUYÊN ĐỀ Giảng Viên Hướng Dẫn: Đặng Xuân Điệp Sinh Viên Thực Hiện: Nguyễn Văn Huân 122105 Nguyễn Ngọc Cừ 1221050018 Lớp: Mạng Máy Tính K57 Đề Tài: TÌM HIỂU VỀ MATLAB & SIMULINK Mạng máy tính-k57 Mạng máy tính-k57 MATLAB Giới thiệu 1.1 MATLAB Matlab (Matrix Laboratory) phần mềm khoa học thiết kế để cung cấp việc tính toán số hiển thị đồ họa ngôn ngữ lập trình cấp cao MATLAB cung cấp tính tương tác tuyệt vời cho phép người sử dụng thao tác liệu linh hoạt dạng mảng ma trận để tính toán quan sát Các liệu vào MATLAB nhập từ "Command line" từ "mfiles", tập lệnh cho trước MATLAB MATLAB cung cấp cho người dùng toolbox tiêu chuẩn tùy chọn Người dùng tạo hộp công cụ riêng gồm "mfiles" viết cho ứng dụng cụ thể Chúng ta sử dụng tập tin trợ giúp MATLAB cho chức lệnh liên quan với toolbox có sẵn (dùng lệnh help) Ví dụ: Command Window: >> help plot Màn hình tiêu chuẩn sau khởi động Matlab: 1.2 Sử dụng Matlab 1.2.1 Định nghĩa biến Mạng máy tính-k57 Chúng ta cần hiểu cách Matlab thao tác với ma trận Ví dụ mảng giá trị A = 1, 0, 9, 11, ma trận 1x5, B = ma trận 1x1 Để lưu biến A, cửa sổ lệnh, gõ vào lệnh: >> A=[1 11 5] Matlab hiển thị kết A= 11 Để không hiển thị kết hình, dùng dấu ; cuối câu lệnh Để xác định kích thước ma trận hay mảng, dùng lệnh “size” >>size (A) ans= Trong Matlab, hàng ma trận cách “;” cột ngắt “,” Ví dụ ma trận B có thành phần sau: Dòng 1: 1, 0, 9, 4, Dòng 2: 0, 8, 4, 2, Dòng 3: 14, 90, 0, 43, 25 (có thể dùng khoảng trắng thay cho “,” để ngắt cột) >>B=[1,0,9,4,3;0,8,4,2,7;14,90,0,43,25] B= 14 90 43 25 Chúng ta cộng, trừ, nhân, chia ma trận toán tử đơn giản +, -, *, / Matlab Ta tạo biến từ ma trận có sẵn, ví dụ như: (dấu “:” đại diện cho tất cột hàng 2) >>C=B(2,:) C= Hoặc tổ hợp ma trận từ ma trận có sẵn >>D=[B(1,2),B(1,4),B(3,2),B(3,5)] D= 90 25 Hoặc xóa hàng hay cột ma trận >>B(:,3)=[] B= 14 90 43 25 Mạng máy tính-k57 Một biến nhập, chúng hiển thị vùng làm việc Chúng ta double click vào tên biến vùng làm việc để mở cửa sổ Variable Editor, sửa chữa giá trị Excel Làm việc với mảng Nhập vào Matlab ma trận A, B >> A = [1 3;4 6;7 0] 1.2.2 Mạng máy tính-k57 A= >> B = [2 6;0 7;9 1] B= Toán tử Mô tả Phép Cộng >> C=A+B C= + 13 16 16 Phép Trừ >> C=A-B C= -1 -2 -3 -1 -2 -1 Phép nhân >> C=A*B C= * 29 34 23 62 79 65 14 52 98 Phép nhân phần tử >> C=A.*B với phần tử C= * 18 15 42 63 64 Phép chia theo >> C=A/B chiều phải C= / 0.5000 0.0000 3.6875 -2.2500 -8.3125 6.7500 Phép chia theo >> C=A\B chiều trái C= \ -4.5556 -5.3333 5.1111 5.6667 -1.2222 -0.6667 Ví dụ 0.0000 -0.3750 2.6250 -4.5556 4.1111 0.7778 Mạng máy tính-k57 Phép chia phần tử(trái) >> C=A.\B \ C= 2.0000 2.0000 2.0000 0.6000 1.1667 1.2857 1.0000 Inf Phép chia phần tử( >> C=A./B phải) C= / 0.5000 0.5000 0.5000 Inf 1.6667 0.8571 0.7778 1.0000 Element-by>> C=A.^B element power C= ^ Lấy số mũ phần tử 16 729 - phần tử 125 279936 40353607 16777216 1.2.3 M-file Ngoài phương pháp gõ lệnh trực tiếp cửa sổ lệnh, tạo script m- file gồm tập hợp lệnh gõ cửa sổ lệnh Khi chạy mfile, lệnh thực tương tự cửa sổ lệnh Menu File → New → Script Các hàm toán Chương trình Matlab có sẵn nhiều hàm toán tập hợp bảng sau Mạng máy tính-k57 Để xem kỹ hơn, sử dụng lệnh help elfun help datafun Tất hàm bảng có khả sử dụng tính với vector Các hàm toán sqrt(x) Căn bậc hai rem(x, y) Số dư phép chia x/y exp(x) Hàm mũ số e round(x) Làm tròn số log(x) Logarithm tự nhiên ceil(x) Làm tròn lên log10(x) Logarithm số thập phân floor(x) Làm tròn xuống abs(x) Giá trị tuyệt đối sum(v) Tổng phần tử vector sign(x) Hàm dấu prod(v) Tích phần tử vector real(x) Phần thực min(v) Phần tử vector bé imag(x) Phần ảo max(v) Phần tử vector lớn phase(x) Góc pha số phức mean(v) Giá trị trung bình cộng hàm lượng giác sin(x) Hàm sin atan(x) Hàm arctg ± 900 cos (x) Hàm cos atan2(x) Hàm arctg ± 1800 tan(x) Hàm tg sinc(x) Hàm sin (pi x)/(pi x) Tính toán với vector ma trận 3.1 Khai báo vector ma trận 3.2 Matlab có số lệnh đặc biệt để khai báo xử lý vector ma trận Cách đơn giản để khai báo, tạo nên vector ma trận nhập trực tiếp Khi nhập trực tiếp, phần tử hàng cách dấu phẩy vị trí cách bỏ trống (trong trường hợp khác Matlab bỏ qua vị trí trống, hàng ngăn cách dấu (;) ngắt dòng Ví dụ: >> my_vector = [2 4] my_vector = >> my_matrix = [my_vector; 7] my_matrix = Vector có phần tử tiếp diễn với bước định, nhập cách đơn giản nhờ toán tử (:) sau: Start: increment: destination Nếu nhập start destination Matlab tự động đặt increment +1 Mạng máy tính-k57 Ví dụ: >> my_vector = (1:3:8) my_vector = >> my_vector1 = (1:8) my_vector1 = Cũng nhập vector tuyến tính vector có phân hạng logarithm cách dùng lệnh: linspace(start, destination, number) logspace(start, destination, number) Đối với logspace start destination nhập số mũ thập phân, ví dụ: 100 = 102 ta cần nhập Ví dụ: >> linspace(1,7,3) ans = >> logspace(1,3,5) ans = 1.0e+003 * 19 0.0100 0.0316 0.1000 0.3162 1.0000 Bằng hàm ones(line, column) zeros(line, column) ta tạo ma trận có phần tử Hàm eye(line) tạo ma trận đơn vị, ma trận toàn phương với phần tử thuộc đường chéo, tất phần tử lại Kích cỡ ma trận hoàn toàn phụ thuộc người nhập Ví dụ: >> ones(2,2) ans = 1 1 >> zeros(2,2) ans = 0 0 >> eye(3) ans = 0 0 Mạng máy tính-k57 Việc truy cập phần tử vector ma trận thực cách khai báo số phần tử, cần lưu ý rằng: Chỉ số bé là Đặc biệt, cần xuất hang hay cột, sử dụng toán tử (:) cách lợi hại Nếu dấu (:) đứng mình, điều có nghĩa là: Phải xuất phần tử thuộc hàng hay cột Ví dụ: 20 >> my_matrix(2,3) ans = Matlab có lệnh hữu ích, phục vụ tạo ma trận với chức tín hiệu thử, rand(line, column) Khi gọi, ta thu ma trận với phần tử mang giá trị ngẫu nhiên Ví dụ: >> rand (2,3) ans = 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 3.3 Tính toán với vector ma trận Nhiều phép tính áp dụng cho vector ma trận - Các phép tính với phần tử: * / ^ >> [2 4] * [1 3] ans = 12 >> [2 4] ^ [1 3] ans = 64 - Chuyển vị ma trận matrix: transpose (maxtrix) matrix.’ >> transpose (my_matrix) ans = - Chuyển vị ma trận matrix có phần tử phức liên hợp: ctranspose (maxtrix) matrix’ (đối với giá trị thực, hai lệnh cho kết nhau) >> matrix = [1 + i – i ; 3] maxtrix = 1.0000 + 1.0000i 1.0000 - 1.0000i 10 Mạng máy tính-k57 Đối với hai khối, ta sử dụng tham số tuỳ chọn Interpret vector parameters as 1-D để định tín hiệu dạng bước nhẩy hay dạng dốc tuyến tính có giá trị scalar hay vector hay ma trận Chú ý: Hai khối Step Ramp tạo tín hiệu nhiều người hiểu nhầm, mà tạo tập tín hiệu xử lý dạng vector hàng hay cột ma trận 5.1.3 Signal Generator Pulse Generator Bằng Signal Generator ta tạo dạng tín hiệu kích thước khác Cung cấp cho dạng song khác (giống máy phát 54at ): + Sóng Sin + Sóng vuông (Square) + Sóng cưa (Sawtood) + Sóng ngẫu nhiên (Random) Với Pulse Generator tạo chuỗi xung hình chữ nhật Biên độ tần số khai báo tuỳ ý Đối với Pulse Generator ta có khả chọn tỷ lệ cho bề rộng xung (tính phần trăm cho chu kỳ) Đối với hai khối ta sử dụng tham số tuỳ chọn Interpret vector parameters as 1-D để định tín hiệu có giá trị scalar hay vector ma trận 34 Mạng máy tính-k57 Đối với hệ gián đoạn hay hệ lai (sơ đồ có hai loại khối liên tục gián đoạn) ta sử dụng khối Discrete Pulse Generator để tạo chuỗi xung chữ nhật 5.1.4 Repeating Sequence 5.1.5 Khối Repeating Sequence cho phép ta tạo nên tín hiệu tuần hoàn tuỳ ý Tham số Time values phải vector thời gian với giá trị đơn điệu tăng Vector biến Output values phải có kích cỡ phù hợp với chiều dài tham số Time values Giá trị lớn vector thời gian định chu kỳ lặp lại vector biến 35 Mạng máy tính-k57 5.1.6 Sine Wave Khối Sine Wave sử dụng để tạo tín hiệu hình sin cho hai loại mô hình: liên tục (tham số Simple time = 0) gián đoạn (tham số Simple time = 1) Tín hiệu đầu y phụ thuộc vào 56at ham số chọn: Amplitude, Frequency Phase sở quan hệ y = Amplitude.sin(Frequency.time + Phase) Vì đơn vị Phase [rad], ta khai báo trực tiếp giá trị Phase hệ số nhân với pi Giống khối Constant, ta sử dụng tham số tuỳ chọn Interpret vector parameters as 1-D để định tín hiệu có giá trị calar hay vector hay ma trận 36 Mạng máy tính-k57 5.1.7 From Workspace 5.1.8 Khối From Workspace có nhiệm vụ lấy số liệu từ cửa sổ Matlab Workspace để cung cấp cho mô hình Simulink Các số liệu lấy vào phải có dạng biểu thức Matlab, khai báo dòng Data 37 Mạng máy tính-k57 From File Bằng khối liệu From File lấy liệu từ MAT-File có sẵn MAT-File kết lần mô trước đó, tạo nên cất nhờ khối To File sơ đồ Simulink 5.1.9 5.2 Thư viện Sinks Thư viện bao gồm khối xuất chuẩn Simulink Ngoài khả hiển thị đơn giản số, có khối dao động kí để biểu diễn tín hiệu phụ thuộc thời gian hay biểu diễn hai tín hiệu hệ toạ độ XY 5.2.1 Scope 38 Mạng máy tính-k57 Nhờ khối Scope ta hiển thị tín hiệu trình mô Khi nhấn vào nút Properties, hộp thoại Scope Properties (đặc điểm Scope) mở Chọn general ta đặt chế độ cho trục Khi đặt Number of axes > 1, cửa sổ Scope có nhiều đồ thị giống tương tự lệnh Subplot Matlab Nếu điền số cụ thể vào ô time range, đồ thị biểu diễn thời điểm giá trị số xác định 5.2.2 XY graphic Khối biểu diễn hai tín hiệu đầu vào hệ toạ độ XY dạng đồ hoạ Matlab đầu vào thứ (bên trên) Ứng với trục X đầu thứ hai ứng với trục Y 5.2.3 To Workspace Khối To Workspace gửi số liệu đầu vào khối tới môi trường Matlab Workspace dạng mảng (Array), Stracture hay Stracture with time lấy chuỗi kí tự khai variable name để đặt tên cho tập số liệu ghi 39 Mạng máy tính-k57 5.2.4 To File Khối giúp ta cất tập số liệu (mảng hay ma trận) đầu vào khối với vector thời gian dạng Mat-File Array định dạng giống định dạng mà khối From File cần, số liệu To File cất From File đọc trực tiếp mà không cần phải xử lý 5.3 Thư viện Math Thư viện có số khối có chức ghép toán học tín hiệu khác nhau, có khối đơn giản nhằm cộng hay nhân tín hiệu có hàm phức tạp lượng giác logic … Sau ta xét chức số khối quan trọng thư viện 5.3.1 Sum Tín hiệu khối Sum tổng tín hiệu đầu vào (Ví dụ tín hiệu đầu vào tín hiệu hình Sin tín hiệu đầu tín hiệu hình Sin) Khối Sum tính tổng phần tử (ví dụ tín hiệu vào gồm hai tín hiệu: Sin(x) [5 3] tín hiệu có dạng [Sin(x)+5 Sin(x)+9 Sin(x)+3] 40 Mạng máy tính-k57 5.3.2 Product Dot Product Khối Product thực phép nhân phần tử hay ma trận phép chia tín hiệu vào (dạng 1- D hay – D) khối, ví dụ: khối Product có tham số Number of Inputs = */*, với ba tín hiệu vào 5, sinx [4 6] tín hiệu đầu có dạng [20/Sinx 20/Sinx 25/Sinx 30/Sinx] 5.3.3 Khối Dot Product tính tích vô hướng Vector đầu vào Giá trị đầu khối tương đương với lệnh Matlab y = Sum(cọn(u1)*u2) 5.3.4 Math Function Trigonometric Function Cả hai khối xử lý tín hiệu 2-D Khối Math Function có lượng lớn hàm toán chuẩn bị sẵn cho phép ta lựa chọn theo nhu cầu sử dụng Còn khối Trigonometric Function có tất hàm lượng giác quan trọng 41 Mạng máy tính-k57 5.3.5 Gain Slider Gain Khối Gain có tác dụng khuếch đại tín hiệu đầu vào (định dạng 1-D hay 2-D) biểu thức khai báo ô Gain Biểu thức biến hay số biến Biến phải tồn môi trường Matlab Workspace Simulink tính toán biến Khối Slider Gain cho phép thay đổi hệ số khuếch đại vô hướng trình mô Khai báo tham số phương pháp tích phân chuẩn bị cho mô Trước tiến hành mô ta phải có thao tác chuẩn bị định: Đó khai báo tham số phương pháp mô Các thao tác chuẩn bị thực hộp thoại Simulation Parameters Tại tất tham số có giá trị mặc định sẵn, nghĩa là: Có thể khởi động mô tốt nhất, phải thực chuẩn bị, đặt tham số phù hợp với mô hình Simulink cụ thể 6.1 Hộp thoại Simulation Parameters 6.1.1 Solver (thuật toán) Tại trang ta khai báo thời điểm bắt đàu kết thúc, thuật toán tích phân phương pháp xuất kết mô Simulink cung cấp cho ta thuật toán khác để giải số phương trình vi phân Đáp ứng phổ rộng toán đặt Đối với quan hệ gián đoạn ta chọn thuật toán discrete với bước phân tích linh hoạt( Variable- Step) hay cố định ( Fixed- Step) Thuật 42 Mạng máy tính-k57 toán Variable-step làm việc với bước tích phân linh hoạt Việc giải phương trình vi phân bắt đầu với bước tích phân khai báo Initial step size Nếu vừa bắt đầu, đạo hàm biến trạng thái lớn, Solver chọn giá trị bé giá trị ghi Intial step size Trong trình mô phỏng, Simulink cố gắng giải phương trình vi phân bước cho phép lớn ghi Max step size Kích cỡ Max step size tính sau: Do có khả thích nghi bước tích phân, thuật toán Slover với Variable-step giám sát biến thiên biến trạng thái từ thời điểm vừa qua tới thời điểm thêm vào đó, thuất toán nhận biết vị trí không liên tục hàm cột biết dạng bước nhảy 6.1.2 Giám sát số Để thích nghi bước tích phân với động học biến trạng thái, bước tích phân, Simulink lại tính độ biến thiên biến trạng thái từ thời điểm vừa qua tới thời điểm Độ biến thiên gọi sai số cục local error ei(i = … : số biến trạng thái hệ Cứ bước tích phân, thuật toán Solver (dạng Variable-step) lại kiểm tra xem local error biến trạng thái có thoả mãn điều kiện 43 Mạng máy tính-k57 acceptable error (sai số chấp nhận) xác định tham số Relative tolerance Absolute tolerance hộp thoại Simulation Parameters (viết tắt eltol abstol) Điều kiện acceptable error mô tả công thức sau: Nếu số biến trạng thái không thoả mãn điều kiện trên, bước tích phân tự động giảm trình tính bước lặp lại Việc acceptable error xác định sở lựa chọn tối đa có nguyên sau: Giá trị khai báo tai Relative tolerance ứng với biến thiên cho phép tính % giá trị tức thời biến trạng thái xi Nếu acceptable error định Relative tolerance, |xi| bé relation tolerance trở nên bé, đồng nghĩa với việc: Biến trạng thái không phép biến thiên Điều không xảy acceptable error chọn theo công thức Nếu ta khai báo cho Absolute tolerance giá trị auto, Simulink bắt đầu 10-6 Sau abstol đặt reltol.max(|xi|) Nhờ cách chọn bước linh hoạt vậy, Simulink cho phép biến trạng thái 6.1.3 Zero crossing detection 6.1.4 Khái niệm zero crossing Simulink hiểu tính không liên tục diễn biến trạng thái điểm không thông thường Các tín hiệu không liên tục thường số khối định gây Abs, Backslash, Dead Zone, Saturation hay Switch Mỗi khối hàm loại có kèm theo biến zero crossing, phụ thuộc vào biến trạng thái không liên tục đổi dấu gặp điểm không liên tục Cứ sau bước tích phân, Simulink lại kiểm tra biến zero crossing qua nhận biết: Trong bước có xảy zero crossing hay không Nếu có Simulink tính xác tối đa thời điểm xuất phương pháp nội suy giá trị vừa qua giá trị biến zero crossing Khi biết xác, Simulink bắt đầu tính tiếp từ cận phải Vì vậy, chọn sai số thô có nguy bỏ sót điểm không Nếu có nghi vấn bỏ sót điểm không, cần phải giảm sai số khai báo để đảm bảo Solver với Variable-step chọn bước tính đủ nhỏ Solver với Fixed-step hoạt động với bước cố định việc giám sát – phát điểm không liên tục Song biết xác số lượng bước tích phân, ta ước lượng xác thời gian 44 Mạng máy tính-k57 tính mô hình mô Điều đặc biệt có ý nghĩa ta dự kiến cài đặt mô hình (sau mô thành công) cấu hình Hardware 6.1.5 Workspace I/O Nhờ khai báo thích hợp trang Workspace I/O ta gửi số liệu vào, đọc số liệu từ môi trường Matlab Workspace mà không cần sử dụng khối To Workspace, From Workspace mô hình Simulink Ngoài rat a khai báo giá trị ban đầu cho biến trạng thái Input: tên tập số liệu cần đọc từ Workspace, tập số liệu định dạng Array, Structure Structure with time Initial State: tên biến giữ giá trị ban đầu, biến có định dạng Array hay Structure Việc tận dụng khả khai báo biến giữ giá trị ban đầu quan trọng ta cần sử dụng giá trị trạng thái lần mô trước đó, nằm Workspace nhờ kích hoạt ô Save to Workspace khai báo Final state Biến mô hình Simulink cất cách điền tên biến vào ô Output, sau kích hoạt Output Tương tự ô State để cất biến trạng thái vào Workspace 6.1.6 Advance (khai báo nâng cao) Sauk hi nhấn nút Configure ô Inline parameters, ta thu cửa sổ để khai báo cấu trúc tham số mô hình Việc kích hoạt ô Inline parameters phủ định khả thay đổi tham số khối trình mô Duy tham số liệt kê danh sách Global (tunable) parameters thay đổi Vì tham số không thay đổi bị coi số, thời gian giảm đáng kể 6.2 Khởi động ngừng mô Quá trình mô mô hình Simulink khởi động qua menu Simulation/Start Trong mô phỏng, chọn Simulation/Pause để tạm ngừng, hay Simulink/Stop để ngừng hẳn trình mô Thêm vào ta điều khiển trình mô dòng lệnh viết cửa sổ lệnh Matlab Điều đặc biệt có ý nghĩa ta muốn tự động hoá toàn chu trình mô phỏng, không muốn khởi động, ngừng hay xử lý, … tay Đó lệnh set_param sim • Lệnh set_param gọi sau: set_param(‘sys’,’SimulinkCommand’,’cmd’) Trong lệnh trên, mô hình mô có tên sys khởi động 45 Mạng máy tính-k57 cmd = start, hay ngừng lại cmd = stop Sau khoảng thời gian nghỉ pause, tar a lệnh tiếp tục mô continue Nếu chọn cmd = update, mô hình cập nhật • Lệnh sim gọi sau: [t,x,y] = sim(‘model’) Nếu muốn chuyển giao tham số mô phỏng, ta gọi : [t,x,y] = sim(‘model’,timespan,options,ut) Bằng lệnh ta chủ động trình đặt tham số mô từ môi trường Matlab Vế trái lệnh gồm vector thời gian t, ma trận biến trạng thái x ma trận biến y mô hình Các tham số sim có ý nghĩa sau : model tên mô hình Simulink, timespan viết dạng [tStart tFinal] định nghĩa thời điểm bắt đầu thời điểm ngừng chạy mô Tham số ut cho phép đọc tập số liệu có vào khối Inport, có tác dụng tương tự khai ô Input thuộc trang Workspace I/O hộp thoại Simulation Parameters Bằng option ta chuyển giao cho mô hình tham số mô quan trọng thuật toán bước tích phân, sai số, điều kiện xuất số liệu,… Việc tạo cấu trúc tham số options thực lệnh : options = simset (property, value, …) Với lệnh trên, tham số đặt hộp thoại Simulation Parameters không bị thay đổi, mà bị vô hiệu hoá sim khởi động trình mô Bằng lệnh : newopts = simset(oldopts, property, value, …) ta thay đổi tham số có oldopts tham số newopts Khi gọi simset khai báo kèm, toàn “properties” giá trị chúng xuất hình Với lệnh : struct = simset(‘model’) ta thu trọn vẹn tham số options khai báo nhờ lệnh simser hay nhờ hộp thoại Simulations Parameters Ví dụ lệnh : [t,x,y] = sim(‘model’, [],simset(simget(‘model’), … ‘slover’, ‘ode23’, ‘MaxStep’, 0.01) ; đưa thuật toán tích phân sơ đồ Simulink có tên model ode23 với bước lớn 0,01 giây Tại vị trí timespan ta viết [], nghĩa : giá trị Start time Stop time hộp thoại Simulation Parameters giữ nguyện 6.3 Xử lý lỗi Nếu xuất lỗi trình mô phỏng, Simulink ngừng mô mở hộp thoại thông báo lỗi Simulation Diagnostics 46 Mạng máy tính-k57 Trong phần phía hộp thoại báo lỗi ta thấy có danh sách khối gây nên lỗi Khi chuyển vạch chọn tới khối nào, ta thấy phần hộp thoại mô tả kỹ lỗi khối Nếu nháy chuột trái vào nút Open, cửa sổ Block Parameters khối mở để tat hay đổi, sửa lại tham số khai báo Đôi nguồn gây lỗi sơ đồ tôn bật 68hem mầu, giúp ta nhanh chóng xác định vị trí khối gây lỗi 6.4 Tập hợp tham số Script cửa Matlab Đối với sơ đồ Simulink phức hợp, ta không nên trực tiếp khai báo tham số cho khối cụ thể, mà nên tập hợp chúng lại script (mFile) Bằngcách công việc khai báo hay thay đổi tham số thực cách rõ rang, tường minh khó nhầm lẫn Để làm vậy, thay viết giá trị cụ thể, ta cần viết tên biến Các biến gán giá trị cụ thể sau này, khuôn khổ script Trước bắt đầu mô hay sau thay đổi tham số, ta phải gọi script để nạp biến vào môi trường Workspace Matlab Nhờ vậy, trình mô Simulink truy cập sử dụng biến nạp Một khả để kích hoạt script chứa tham số mô hình, việc sử dụng thủ tục Callback Khả cho phép ta tiết kiệm, không cần công gọi script dòng lệnh cửa sổ lệnh Một script, liên kết với tham số InitFcn sơ đồ Simulink nhờ lệnh set_param, lúc bắt đầu mô kích hoạt, trước đọc Block Parameters Ví dụ: Set_param(‘model’, ‘InitFcn’, ‘model_init’) liên kết script có tên model_ini.m với tham số InitFcn mô hình Simulink có tên model.mdl Mối liên kết bị huỷ ta gọi: set_param(‘model’, ‘InitFcn’, ‘’) Thông tin: Thủ tục Callback gọi gọi vào lúc nào, lệnh sau định: set_param(0, ‘CallbackTracing’, ‘on’) Lệnh buộc Simulink phải liệt kê toàn thủ tục Callback cửa sổ Command chúng gọi Để biệt 69hem lệnh set_param Callback Routines ta gọi lệnh help set_param 6.5 In mô hình Simulink Cũng giống đồ hoạ Matlab, ta xuất mô hình Simulink dạng khác Bằng lệnh print –smodel ta xuất mô hình có tên model máy in Tuy nhiên, in qua menu File/Print ta có nhiều khả 47 Mạng máy tính-k57 khai báo tham số in Ví dụ: Chỉ in tầng mô hình định Trước in ta nên chuyển tham số Paper type khổ A4, vài máy in có vấn đề in theo khổ usletter Có thể làm điều từ cửa sổ Command Matlab Set(gcf, ‘PaperType’, ‘A4’) Việc in mô hình Simulink thành File thực tương tự đồ hoạ Matlab: Print –smodel; Print –smodel –dmeta model; Print –smodel –deps model; Hệ thống (Sub system) Có hai cách để tạo hệ thống con: • Cách 1: Dùng chuột đánh dấu tất khối mà ta muốn gom lại với Cần ý đánh dấu đường tín hiệu kèm theo Sau chọn Create Subsystem thuộc menu Edit Các khối bị đánh dấu Simulink thay khối Subsystem Khi nháy chuột kép vào khối mới, cửa sổ có tên khối mở Các tín hiệu vào / hệ tự động ghép với hệ thống mẹ khối Inport Outport • Cách 2: Dùng khối Subsystem có sẵn thư viện Signals & Systems Sau gắp khối sang mô hình hệ thống mở, ta nháy chuột kép vào khối để mở cửa sổ khối gắp khối cần thiết để tạo thành hệ thống Việc ghép nối với hệ thống mẹ phải chủ động thực tay nhờ khối Inport Outport Đây cách ngược với cách 1: Ta tạo hệ thống (bắt đầu từ tầng thấp nhất), sau nối hệ thống để tạo thành hệ thống mẹ (tầng cấp trực tiếp) 48 Mạng máy tính-k57 [...]... chuột và kéo thả Simulink bao gồm một bộ thư viện khối với các hộp công cụ toàn diện cho cả 27 Mạng máy tính-k57 việc phân tích tuyến tính và phi tuyến Simulink là một phần quan trọng của Matlab và có thể dễ dàng chuyển đổi qua lại trong quá trình phân tích, và vì vậy người dùng có thể tận dụng được ưu thế của cả hai môi trường 2 Hướng dẫn sử dụng Simulink Có thể mở Simulink bằng 2 cách o Click vào... hàng và số cột giống nhau, khi ấy các điểm của đồ hoạ sẽ được vẽ và nối liền thành mặt Nếu các điểm có một khoảng cách đều đặn về phía hai trục x và y, khi ấy x_value và y_value có thể chỉ là vector Trong trường hợp này, các giá trị x_value được chuẩn theo cột và y_value chuẩn theo hang của ma trận z_value Hai lệnh mesh và waterfall có cú pháp giống như surf, nhưng lại tạo ra mặt lưới không điền đầy và. .. Click vào biểu tượng như hình dưới (Simulink icon) o - Từ cửa sổ lệnh, đánh lệnh simulink và enter Cửa sổ thư viện Simulink sẽ hiển thị 28 Mạng máy tính-k57 Tạo một mô hình mới bằng cách o - Click vào icon New model hoặc gõ Ctrl-N - Menu File→ New → Model Cửa sổ xây dựng mô hình xuất hiện o Tạo các khối: từ thư viện Simulink chọn khối cần dùng, nhấp chuột vào và kéo ra ra cửa sổ mô hình 29 Mạng... đặt lời ghi chú vào 4 góc, 0 đặt tự động và -1 đặt vào bên phải, cạnh đồ hoạ Lệnh text(x_value,y_value,string) cho phép ta điền một đoạn văn bản với nội dung string vào toạ độ bất kỳ x_value, y_value trong đồ hoạ Sử dụng lệnh zoom on | off để dung chuột cắt và co dãn mảng đó Ngoài ra, cửa sổ figure còn có một vài nút cho phép dung chuột điền đoạn văn bản, vẽ thêm nét hoặc mũi tên, và mở Property Editor... Save) hoặc nhấp vào icon Save Dịch chuyển các khối đơn giản bằng cách nhấp vào khối đó và kéo thả Nối tín hiệu: Đưa con chuột tới ngõ ra của khối (dấu “>”), khi đó con chuột sẽ có dạng “+” Kéo rê chuột tới ngõ vào của một khối khác và thả ra để kết nối tín hiệu Mô phỏng mô hình: Dùng lệnh Start (Menu Simulation → Start) hoặc nhấp chuột vào icon Start Xem tín hiệu từ Scope: nhấp đôi vào khối Scope... định nghĩa đó phải được gọi trực tiếp từ Command Windows của Matlab, hay từ một script, và cũng có thể định nghĩa trong phạm vi một function Trong phạm vi function ta có thể sử dụng hai biến nargin và nargout để xác định số lượng dữ liệu được chuyển giao hay nhận trở lại Nếu một Matlab script hay một Matlab function lần đầu tiên được gọi, Matlab sẽ dịch ra mã ảo, là mã sẽ được kích hoạt để thực hiện... Nối hai khối: Dùng phím chuột trái nháy vào đầu ra của một khối, sau đó di mũi tên của chuột tới đầu vào cần nối Sau khu thả ngón tay khỏi phím chuột, đường nối tự động được tạo ra Có thể rẽ nhánh tín hiệu bằng cách nháy phím chuột phải vào một đường nối có sẵn và kéo đường nối mới xuất hiện tới đầu vào cần nối • Di chuyển đường nối: Để lưu đồ tín hiệu thoáng và dễ theo dõi, nhiều khi ta phải di chuyển,... phải là số nguyên tố, và vì vậy vòng lặp phía trong đã được rời bỏ bởi lệnh break để tiếp tục các lệnh thuộc vòng lặp phía ngoài Matlab đưa ra kết qủa trên màn hình như sau: !! 3 is a prime number! 2 is not a prime number! 3 … Để xem tất cả các lệnh tạo khả năng điều khiển chương trình tính toán, ta gọi lệnh help lang 3.8 Các scripts và các hàm của Matlab 3.8.1 Các scripts của Matlab Bên cạnh khả năng... định dạng fig của Matlab Để cất hoặc ta đi theo menu File / Save as, hoặc gọi lệnh saveas(handle, ‘file’ [,format]) Lệnh saveas cất handle (Figure hiện tại, có thể dùng gcf để hỏi) thành tệp có tên file với một trong các định dạng: ‘fig’ (File nhị phân), ‘m’ (gồm một File fig và một File Script) SUMULINK 1 Giới thiệu Simulink là một công cụ trong Matlab dùng để mô hình, mô phỏng và phân tích các hệ... vào từng phần tử của mỗi tín hiệu, mà chỉ có thể truy cập vào từng tín hiệu 4.2 Làm việc với các loại số liệu Bên cạnh các đặc điểm đã được giới thiệu, mỗi tín hiệu thuộc sơ đồ cấu trúc Simulink đều được gán một loại số liệu nhất định, và do đó quyết định đến dung lượng bộ nhớ dành cho một tín hiệu Simulink cũng hỗ trợ tất cả các loại số liệu của Matlab • double: chính xác cao, dấu phẩy động • single: ... phi tuyến Simulink phần quan trọng Matlab dễ dàng chuyển đổi qua lại trình phân tích, người dùng tận dụng ưu hai môi trường Hướng dẫn sử dụng Simulink Có thể mở Simulink cách o Click vào biểu... linh hoạt dạng mảng ma trận để tính toán quan sát Các liệu vào MATLAB nhập từ "Command line" từ "mfiles", tập lệnh cho trước MATLAB MATLAB cung cấp cho người dùng toolbox tiêu chuẩn tùy chọn... tính-k57 Chúng ta cần hiểu cách Matlab thao tác với ma trận Ví dụ mảng giá trị A = 1, 0, 9, 11, ma trận 1x5, B = ma trận 1x1 Để lưu biến A, cửa sổ lệnh, gõ vào lệnh: >> A=[1 11 5] Matlab hiển thị kết