Giáo trình Matlab phần cơ bản
Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 1 Phần 1 - Cơ sở Matlab Chơng 1 Khái niệm chung 1.1- Giới thiệu MATLAB là 1 phần mềm ứng dụng chạy trong môi trờng Windows do hãng MathWorks sản xuất và cung cấp. Có thể coi Matlab là ngôn ngữ của kỹ thuật. Nó tích hợp các công cụ rất mạnh phục vụ tính toán, lập trình, thiết kế, mô phỏng, . trong một môi trờng rất dễ sử dụng trong đó các bài toán và các lời giải đợc biểu diễn theo các ký hiệu toán học quen thuộc. Các ứng dụng điển hình là: - Toán học và tính toán. - Phát triển thuật toán. - Tạo mô hình, mô phỏng và tạo giao thức. - Khảo sát, phân tích số liệu. - Đồ hoạ khoa học kỹ thuật. - Phát triển ứng dụng, gồm cả xây dựng giao diện ngời dùng đồ hoạ GUI. Matlab là một hệ thống tơng tác mà phần tử dữ liệu cơ bản là một mảng (array) không cần khai báo kích thớc. Điều này cho phép bạn giải nhiều bài toán tính toán kỹ thuật đặc biệt là các bài toán liên quan đến ma trận và véc tơ. Matlab là viết tắt của hai từ tiếng Anh Matrix Laboratory (Phòng thí nghiệm ma trận). Ban đầu Matlab đợc viết chỉ để phục vụ cho việc tính toán ma trận. Trải qua thời gian dài, nó đã đợc phát triển thành một công cụ hữu ích, một ngôn ngữ của kỹ thuật. Trong môi trờng đại học, nó là một công cụ chuẩn cho các khoá học mở đầu và cao cấp về toán học, khoa học và kỹ thuật. Trong công nghiệp, nó là công cụ đợc lựa chọn cho việc phân tích, phát triển và nghiên cứu hiệu suất cao. Matlab cung cấp một họ các giải pháp theo hớng chuyên dụng hoá đợc gọi là các Toolbox (hộp công cụ). Các toolbox cho phép ngời sử dụng học và áp dụng Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 2 các kỹ thuật chuyên dụng cho một lĩnh vực nào đó. Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file) cho phép mở rộng môi trờng Matlab để giải các lớp bài toán cụ thể. Các lĩnh vực trong đó có sẵn các toolbox bao gồm: Xử lý tín hiệu, hệ thống điều khiển, logic mờ, mô phỏng, . Hệ thống Matlab gồm có 5 phần chính: - Ngôn ngữ Matlab: là một ngôn ngữ ma trận/ mảng cấp cao với các câu lệnh, hàm, cấu trúc dữ liệu, vào/ ra, các tính năng lập trình hớng đối tợng. Nó cho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn và phức tạp. - Môi trờng làm việc Matlab: Đây là một bộ các công cụ và phơng tiện mà bạn sử dụng với t cách là ngời dùng hoặc ngời lập trình Matlab. Nó bao gồm các phơng tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng nh xuất nhập khẩu dữ liệu. Nó cũng bao gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file, ứng dụng của Matlab. - Xử lý đồ hoạ: Đây là hệ thống đồ hoạ của Matlab. Nó bao gồm các lệnh cao cấp cho trực quan hoá dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động, . Nó cũng cung cấp các lệnh cấp thấp cho phép bạn tuỳ biến giao diện đồ hoạ cũng nh xây dựng một giao diện đồ hoạ hoàn chỉnh cho ứng dụng Matlab của mình. - Th viện toán học Matlab: Đây là tập hợp khổng lồ các thuật toán tính toán từ các hàm cơ bản nh cộng, sin, cos, số học phức, . tới các hàm phức tạp hơn nh nghịch đảo ma trận, tìm trị riêng của ma trận, phép biến đổi Fourier nhanh. - Giao diện chơng trình ứng dụng Matlab API (Application Program Interface): Đây là một th viện cho phép bạn viết các chơng trình C và Fortran tơng thích với Matlab. Simulink, một chơng trình đi kèm với Matlab, là một hệ thống tơng tác với việc mô phỏng các hệ thống động học phi tuyến. Nó là một chơng trình đồ hoạ sử dụng chuột để thao tác cho phép mô hình hoá một hệ thống bằng cách vẽ một Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 3 sơ đồ khối trên màn hình. Nó có thể làm việc với các hệ thống tuyến tính, phi tuyến, hệ thống liên tục theo thời gian, hệ gián đoạn theo thời gian, hệ đa biến, . 1.2- Cài đặt chơng trình: 1.2.1- Khởi động windows. Matlab là một phần mềm chạy trong môi trờng Windows nên qui trình cài đặt Matlab cũng tơng tự nh việc cài đặt các chơng trình phần mềm khác trong Windows, chỉ cần làm theo các hớng dẫn của chơng trình cài đặt. 1.2.2- Tiến hành cài đặt - Đa đĩa CD vào ổ đĩa (nếu cài từ đĩa CD-ROM) Do chơng trình đợc cấu hình theo chế độ Autorun (tự chạy) nên khi đa đĩa CD vào ổ đĩa thì trình Setup tự động đợc kích hoạt. Trờng hợp chế độ Autorun không đợc kích hoạt (do tập tin Autorun bị lỗi), dùng. Hoặc ta có thể kích chuột vào nút Start trên thanh tác vụ (Task bar) của windows, chọn lệnh run, gõ vào đờng dẫn của file, nhấn Enter hoặc kích vào nút lệnh Run. Sau đó làm theo các hớng dẫn của trình cài đặt của Windows. - Trờng hợp cài đặt Matlab từ đĩa cứng: Hình 1. Cài đặt Matlab trong Windows và màn hình Welcome Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 4 Trờng hợp này yêu cầu phải có sẵn bộ cài đặt trong đĩa cứng. Khi đó, ta sử dụng Windows Explorer hây My Computer để duyệt ổ cứng, tìm đến th mục (folder) cài đặt rồi kích đúp chuột vào file (tập tin) Setup.exe. Sau đó làm theo các hớng dẫn của trình cài đặt của Windows. Sau khi file setup.exe đợc kích hoạt, cửa sổ Welcom to MATLAB Setup hiện lên trong giây lát. Kích vào nút lệnh Next để chuyển sang cửa sổ cài đặt kế tiếp. Hình 1.2. Cửa sổ Software License Agreement và cửa sổ thông tin về khách hàng1.2.3- Nhập thông tin của ngời dùng và Personal License Password. Cửa sổ thứ hai thể hiện các thông tin về bản quyền của chơng trình. Kích Yes để sang cửa sổ cài đặt kế tiếp. Trong cửa sổ thông tin về khách hàng Customer Information (hình 1.2), nhập họ tên vào khung Name, địa chỉ hoặc tên công ty vào khung Company. Nhập mã khoá (Serial Key) của chơng trình vào khung Personal License Password. Kích chuột vào Next để tiếp tục quá trình cài đặt. Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 5 1.2.4. Lựa chọn các thành phần sẽ cài đặt: Trong cửa sổ Select Matlab Components (hình 1.3), bỏ đánh dấu những thành phần không cần thiết trong chơng trình để tiết kiệm dung lợng đĩa cứng. Muốn kiểm tra dung lợng của chơng trình, kích vào Disk Space để quan sát. Hình 1.3. Lựa chọn các thành phần của Matlab sẽ đợc cài đặtMuốn thay đổi th mục cài đặt Matlab, kích chuột vào nút Browse và tạo đờng dẫn tới địa chỉ cần đặt th mục Matlab. Th mục mặc định là C:\MATLABR11. Để tiếp tục kích Next, màn hình hiện khung thông tin Setup và trình setup bắt đầu copy các tập tin vào th mục cài đặt. 1.2.5- Hoàn thành cài đặt Sau khi hoàn thành quá trình Copy các file của chơng trình vào th mục cài đặt, màn hình hiện khung thoại Setup Complete. Bỏ đánh dấu ở ô Yes, launch the Help Desk to view the Release Note nếu không muốn trình setup Hình 1.4. Quá trình copy file của chơng trình vào th mục cài đặt Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 6 khởi động Help Desk (phần trợ giúp). Bỏ đánh dấu ở ô Yes, launch Matlab nếu cha muốn khởi động Matlab ngay. Kích Finish để kết thúc qúa trình cài đặt. Sau khi kết thúc cài đặt cửa sổ kế tiếp là Internet Explorer (nếu không bỏ đánh dấu ở ô Yes, launch the Help Desk to view the Release Note). Kích Close để trở về cửa sổ nền Desktop của windows, biểu tợng của Matlab sẽ đợc tự động đa ra Desktop của windows. 1.3- Môi trờng làm việc của Matlab Matlab vừa là một ngôn ngữ vừa là một môi trờng làm việc. Là một môi trờnglàm việc, Matlab bao gồm các phơng tiện để quản lý các biến trong không gian làm việc (Workspace) của bạn và để xuất nhập dữ liệu. Matlab cũng bao gồm các công cụ để phát triển và quản lý M-file, các ứng dụng của Matlab. 1.3.1- Khởi động và thoát khỏi Matlab 1.3.1.1- Khởi động MATLAB: Cũng nh các chơng trình ứng dụng khác chạy trên nền Windows, có rất nhiều cách để khởi động Matlab. Kích đúp chuột vào biểu tợng Matlab5.3 trên màn hình Desktop của Windows: hoặc kích chuột theo trình tự nh sau: Start/ Programs/ Matlab/ Matlab 5.3 Sau khi khởi động xong cửa sổ Matlab Command Window hiện ra nh hình 1.4. Cũng nh các chơng trình chạy trong môi trờng Windows khác Matlab cũng có những thành phần giao diện của chơng trình. Dòng trên cùng là thanh tiêu đề gồm: + Tận trái là biểu tợng chơng trình. Khi kích vào biểu tợng này Matlab hiện menu xổ chứa các lệnh liên quan tới việc xử lý khung cửa sổ chơng trình cũng nh thoát khỏi chơng trình. Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 7 + Kế tiếp biểu tợng là tên chơng trình cùng với cửa sổ chơng trình. Tận cùng là ba biểu tợng có chức năng phong to, thu nhỏ và thoát khỏi chơng trình. Dòng thứ hai là thanh menu (Menu bar thanh thực đơn) của chơng trình gồm các menu chính chứa các lệnh liên quan đến việc tạo, xử lý, gán thuộc tính, . cho các đối tợng, thiết lập cấu hình phần mềm, . Dòng thứ ba là thanh công cụ (Tool bar thanh công cụ) chứa biểu tợng đờng tắt (Shortcut) của các lệnh thờng sử dụng, giúp ngời sử dụng truy cập nhanh vào các lệnh của Matlab. Phần chiếm gần chọn màn hình là cửa sổ lệnh, là nơi nhập các lệnh và hiển thị kết quả cũng nh các thông tin khác. Hình 1.4. Cửa sổ Command Windows của Matlab Cuối cùng là thanh tác vụ hay thanh trạng thái (status bar) hiện thông tin về tình trạng đang xử lý, thực hiện đối với đối tợng. Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 8 1.3.1.2- Thoát khỏi MATLAB: Trong Windows, có rất nhiều cách để thoát khỏi một chơng trình ứng dụng, để thoát khởi Matlab ta có thể sử dụng một trong những cách sau: Từ cửa sổ lệnh Matlab Command Window đánh lệnh quit hoặc kích biểu tợng close nằm ngay góc phải trên thanh tiêu đề Matlab. Hoặc kích chuột theo đờng dẫn sau: File / Exit MATLAB Hoặc nhấn tổ hợp phím : Ctrl + Q. 1.3.2- Cửa sổ lệnh của Matlab (Matlab Command Window) Cửa sổ lệnh là cửa sổ chính trong đó ngời sử dụng giao tiếp với Matlab. Trình dịch của Matlab hiển thị một dấu nhắc >> để biểu thị rằng nó đã sẵn sàng nhận và thực hiện lệnh của bạn. Ví dụ, khi muốn nhập dòng lệnh gán biến x=5, ta gõ nh sau: >>x=5 Sau khi nhấn phím enter (), Matlab đáp ứng nh sau: >>x=5 x= 5 1.3.2.1- Hiệu chỉnh, sửa đổi dòng lệnh Các phím mũi tên, các phím điều khiển trên bàn phím cho phép gọi lại, sửa đổi và tái sử dụng các lệnh đã gõ vào trớc đó. Ví dụ, giả sử ta gõ vào dòng lệnh: >>a=(1+sqt(5))/2 %sqrt(x) là hàm tính giá trị căn bậc hai của x Do ta gõ thiếu chữ r trong cú pháp của hàm sqrt nên Matlab báo lỗi nh sau: Undefined function or variable sqt có nghĩa là hàm hoặc biến sqt không đợc định nghĩa. Thay vì gõ lại cả dòng lệnh, đơn giản là ta nhấn phím , câu lệnh bị sai ở trên sẽ đợc hiển thị lại. Sử dụng phím (hoặc dùng chuột) để di Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 9 chuyển con trỏ đến vị trí giữa chữ q và chữ t rồi chèn vào chữ r sau đó nhấn enter, kết quả là: >>a=(1+sqrt(5))/2 a= 1.6180 Ta có thể sử dụng phím nhiều lần để tìm các lệnh đã gõ trớc đó. Cũng có thể gọi nhanh lại một câu lệnh đã thực hiện trớc đó bằng cách gõ ký tự đầu của dòng lệnh rồi nhấn . Ví dụ, để gọi lại chính xác lệnh ở trên nh sau: >>a 1.3.2.2- Xoá cửa sổ lệnh Sử dụng lênh clc để xoá cửa sổ lệnh (xoá màn hình). Lệnh này không xoá nội dung trong không gian làm việc Workspace, mà chỉ xoá màn hình. Sau khi sử dụng clc ta có thể sử dụng phím để gọi lại lệnh cũ. 1.3.2.3- Dừng một chơng trình đang chạy Về nguyên tắc có thể dừng một chơng trình đang chạy trong Matlab tại bất kỳ thời điểm nào bằng cách nhấn tổ hợp phím Ctrl + C. Tuy nhiên, ta vẫn có thể phải đợi cho đến khi một hàm đang thực thi bên trong hoặc MEX-file kết thúc hoạt động của nó. 1.3.2.4- Định dạng số Các phép tính trong Matlab đợc thực hiện với độ chính xác rất cao. Ta có thể định dạng cho các số xuất ra màn hình tuỳ theo ý muốn bằng cách sử dụng lệnh format. Lệnh này chỉ ảnh hởng đến việc hiển thị của các số mà không ảnh hởng đến việc tính toán và lu giữ của Matlab nghĩa là không ảnh hởng đến độ chính xác của phép tính. Ta lấy ví dụ với số 4/3: tại cửa sổ lệnh gõ vào dòng lệnh >>4/3 format short ( đây là chế độ mặc định ): Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 10 a = 1.3333 format short e a = 1.3333e + 000 format long a = 1.33333333333333 format long e a = 1.33333333333333e + 000 format bank a = 1.33 format hex a = 3ff5555555555555 format rat a=4/3 Để thay đổi chế độ định dạng mặc định ta có thể Preferences từ menu File, chọn định dạng số mong muốn từ thẻ (tap) General. Ngoài các định dạng số ở trên, còn có hai định dạng để bỏ đi hoặc thêm vào các dòng trắng giữa các kết quả của lệnh hoặc giữa các dòng lệnh: format compact lệnh này xoá bỏ các dòng trắng làm cho ta có thể quan sát đợc nhiều thông tin hơn trên màn hình hoặc cửa sổ. format loose sẽ thêm vào các dòng trắng. 1.3.2.5- Ngăn không cho hiển thị kết quả tính toán ra màn hình Nếu bạn chỉ đơn giản là gõ vào một câu lệnh (phép tính) và nhấn , Matlab sẽ tự động hiển thị kết quả của câu lệnh (phép tính) đó ra màn hình. Tuy nhiên nếu bạn kết thúc dòng lệnh với một dấu (;) thì Matlab sẽ thực hiện việc tính toán [...]... trình chạy trong môi trờng Windows khác Matlab cũng có những thành phần giao diện của chơng trình. ã Dòng trên cùng là thanh tiêu đề gồm: + Tận trái là biểu tợng chơng trình. Khi kích vào biểu tợng này Matlab hiện menu xổ chứa các lƯnh liªn quan tíi viƯc xư lý khung cưa sỉ chơng trình cũng nh thoát khỏi chơng trình. Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 24 - Size... a 21 a n1 Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 1 Phần 1 - Cơ sở Matlab Chơng 1 Khái niệm chung 1.1- Giới thiệu MATLAB là 1 phần mềm ứng dụng chạy trong môi trờng Windows do hÃng MathWorks sản xuất và cung cấp. Có thể coi Matlab là ngôn ngữ của kỹ thuật. Nó tích hợp các công cụ rất mạnh phục vụ tính toán, lập trình, thiÕt kÕ, m« pháng, trong mét m«i tr−êng... chính xác tơng đối của dấu phẩy động. Đây là dung sai Matlab sử dụng trong các tính toán cđa nã. 3.2.4- BiÕn toµn cơc (global variables) Matlab cho phép sử dụng cùng một biến cho các hàm hoặc giữa các hàm và chơng trình chính của Matlab, điều này đợc thực hiện thông qua việc khai báo biÕn toµn cơc: Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 41 if d < 0 disp('... thoát khỏi Matlab 1.3.1.1- Khởi động MATLAB: Cũng nh các chơng trình ứng dụng khác chạy trên nền Windows, có rất nhiều cách để khởi động Matlab. Kích đúp chuột vào biểu tợng Matlab5 .3 trên màn hình Desktop của Windows: hoặc kÝch chuét theo tr×nh tù nh− sau: Start/ Programs/ Matlab/ Matlab 5.3 Sau khi khëi ®éng xong cưa sỉ Matlab Command Window hiƯn ra nh− h×nh 1.4. Cịng nh− các chơng trình chạy... lập trình: Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 2 các kỹ thuật chuyên dụng cho một lĩnh vực nào đó. Toolbox là một tập hợp toàn diện các hàm của Matlab (M-file) cho phép mở rộng môi trờng Matlab để giải các lớp bài toán cụ thể. Các lĩnh vực trong đó có sẵn các toolbox bao gồm: Xư lý tÝn hiƯu, hƯ thèng ®iỊu khiĨn, logic mê, mô phỏng, Hệ thống Matlab gồm có 5 phần. .. toán tính toán từ các hàm cơ bản nh cộng, sin, cos, số học phức, tới các hàm phức tạp hơn nh nghịch đảo ma trận, tìm trị riêng cđa ma trËn, phÐp biÕn ®ỉi Fourier nhanh. - Giao diện chơng trình ứng dụng Matlab API (Application Program Interface): Đây là một th viện cho phép bạn viết các chơng trình C và Fortran tơng thích với Matlab. Simulink, một chơng trình đi kèm với Matlab, là một hệ thống tơng... 0.0070i 3.7- Cách tạo một hàm: Mỗi một file hàm của Matlab (M - file) đều đợc khai báo nh sau: Function [Tên kết quả] = tên hàm (danh sách các biến). Phần thân của chơng trình trong hàm là c¸c lƯnh cđa Matlab thùc hiƯn viƯc tÝnh to¸n gi¸ trị của đại lợng đợc nêu trong phần tên kết quả theo các biến Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 33 Để thay đổi các giá trị... >> C = 1:5 C = 1 2 3 4 5 4.2.2- Gọi các phần tử trong ma trận. MATLAB cho phép ta xử lý đến từng phần tử của ma trận. Để truy cập đến từng phần tử của ma trận ta phải gọi đợc chúng thông qua chỉ số của từng phần tử. Tên của ma trận (ChØ sè hµng, chØ sè cét) VD: >> A = [1:3; 4:6; 7:9] A = 1 2 3 Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 26 hân. hia phải... các phần tử bằng 1 nếu các phần tử tơng ứng của cả 2 ma trận đầu đều khác 0 và bằng 0 nếu 1 trong 2 phần tử tơng ứng cña 2 ma trËn b»ng 0. Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 29 >>A=[1 2 7; 0 4 9;1 3 5]; B=[0 2 4; 2 4 6; 3 0 7]; C=A&B C = 0 1 1 0 1 1 1 0 1 - Phép hoặc (or) : Ký hiệulà | VD : phÐp or 2 ma trËn cïng cì A,B là một ma trận có các phần. .. có 5 phần chính: - Ngôn ngữ Matlab: là một ngôn ngữ ma trận/ mảng cấp cao với các câu lệnh, hàm, cấu trúc dữ liệu, vào/ ra, các tính năng lập trình hớng đối tợng. Nó cho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn và phức tạp. - Môi trờng làm việc Matlab: Đây là một bộ các công cụ và phơng tiện mà bạn sử dụng với t cách là ngời dùng hoặc ngời lập trình Matlab. Nó bao gồm các phơng . Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng 1 Phần 1 - Cơ sở Matlab Chơng 1 Khái niệm chung 1.1- Giới thiệu MATLAB là 1 phần mềm ứng dụng. Note nếu không muốn trình setup Hình 1.4. Quá trình copy file của chơng trình vào th mục cài đặt Nguyenvanbientbd47@gmail.com Giáo trình Matlab và ứng dụng