intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tin học ứng dụng (Học phần 2): Matlab - Nguyễn Bá Tuyên, Nguyễn Quang Chiến

Chia sẻ: Dinh Tuan | Ngày: | Loại File: PDF | Số trang:66

75
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Tin học ứng dụng (Học phần 2): Matlab" cung cấp cho người đọc các kiến thức: Matlab căn bản, tính toán trong Matlab, ma trận đại số và tuyến tính, Scripts và Functions, đồ thị dạng đường, đồ thị không gian. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học ứng dụng (Học phần 2): Matlab - Nguyễn Bá Tuyên, Nguyễn Quang Chiến

  1. Bài giảng Tin Ứng dụng 2 – Matlab 7 ĐẠI HỌC THỦY LỢI BỘMÔN QUẢN LÝ TỔNG HỢP BIỂN VÀ ĐỚI BỜ ------  ------ MATLAB TIN HỌC ỨNG DỤNG – HỌC PHẦN II (Tài liệu tham khảo & Bài tập cho sinh viên Kỹthuật Biển – K45) Nguyễn Bá Tuyên Nguyễ n Quang Chiế n Hà Nội, tháng 08 năm 2007 -1-
  2. Bài giảng Tin Ứng dụng 2 – Matlab 7 MỤC LỤC 1. CHƯƠNG I: MATLAB CĂN BẢN ....................................................................... 4 1.1. Matlab – ngôn ngữcủa tính toán kỹthuậ t.........................................................4 1.2. Khảnăng và những ứng dụng của Matlab ........................................................ 4 1.3. Đặc điể m của Matlab .......................................................................................6 1.4. Cài đặt và khởi động Matlab 7.0....................................................................... 7 1.5. Quả n lý không gian làm việ c của Matlab..........................................................8 1.6. Ghi & phục hồidữliệu...................................................................................11 1.7. Sửdụng Help.................................................................................................12 1.8. History & Editing...........................................................................................13 2. CHƯƠNG II: TÍNH TOÁN TRONG MATLAB .................................................. 15 2.1. Matlab - một máy tính cá nhân ....................................................................... 15 2.2. Biến trong Matlab..........................................................................................16 2.3. Các kiểu dữliệ u - Đị nh dạng kế t quả .............................................................. 17 2.4. Các kiểu dữliệ u số& sốphức........................................................................ 18 2.5. Các ký tự,Chuỗivà Văn bản.......................................................................... 19 2.6. Các hằ ng sốdựng sẵn.....................................................................................20 2.7. Các hàm dựng sẵ n..........................................................................................20 2.8. Các phép toán quan hệ...................................................................................23 2.9. Các phép toán logic........................................................................................ 24 2.10. Kế t hợp nhiều lệnh trên một dòng; Ẩn kế t quảtính.....................................26 3. CHƯƠNG III: VECTƠ........................................................................................ 27 3.1. Giới thiệu....................................................................................................... 27 3.2. Véctơhàng..................................................................................................... 28 3.3. Vectơcột....................................................................................................... 29 3.4. Toán tửhai chấ m ( : ).....................................................................................29 3.5. Làm việ c với vectơ& ma trậ n (mảng)............................................................30 3.6. Xửlý dữliệ u với các hàm dựng sẵ n cho vectơ& ma trậ n............................... 32 4. CHƯƠNG IV: MA TRẬN ĐẠI SỐ& TUYẾN TÍNH.......................................... 34 4.1. Định nghĩa và khởi tạo ma trậ n ...................................................................... 34 4.2. Một sốma trận đặ c biệt.................................................................................. 34 4.3. Các phép toán với từng phần tửtrong ma trận................................................ 35 4.4. Các phép toán với ma trậ n.............................................................................. 35 4.5. Giảiphương trình đạ i số................................................................................. 35 4.6. Giảihệphương trình đạ i sốtuyế n tính............................................................35 4.7. Tìm nghiệm của đa thức................................................................................. 35 4.8. Giảiphương trình phi tuyến ........................................................................... 35 4.9. Giảiphương trình vi phân .............................................................................. 35 4.10. Các lệnh hữu ích khác ................................................................................ 35 -2-
  3. Bài giảng Tin Ứng dụng 2 – Matlab 7 5. CHƯƠNG V: SCRIPTS VÀ FUNCTIONS (M-FILES)........................................ 37 5.1. Giới thiệ u M-file............................................................................................ 37 5.2. Biên soạn và thực thi M-file........................................................................... 37 5.3. Chú thích (comments)....................................................................................38 5.4. Các hàm m-file (function m-files) ..................................................................39 5.5. Câu lệnh rẽnhánh (if và switch)..................................................................... 41 5.6. Vòng lặp (for và while).................................................................................. 42 5.7. Đọc dữliệu từfile và ghi ra file...................................................................... 43 6. CHƯƠNG VI: ĐỒTHỊDẠNG ĐƯỜNG .............................................................44 6.1. Biểu diễn đường quá trình.............................................................................. 44 6.2. Lựa chọn màu vẽ , nét vẽ................................................................................ 46 6.3. Tạo các chú thích, chú giảitrên hình vẽ ..........................................................48 6.4. Xóa đường biể u đồ,lưu biể u đồ..................................................................... 50 6.5. ĐồthịLogarit ................................................................................................ 50 6.6. Dãy biể u đồ....................................................................................................52 7. CHƯƠNG VII: ĐỒTHỊKHÔNG GIAN .............................................................55 7.1. Các dạ ng cơbả n.............................................................................................55 7.2. Chỉđị nh các vịtrí trong không gian 2 chiề u ...................................................58 7.3. Mặ t cắt đị a hình ............................................................................................. 58 7.4. Trường véctơ.................................................................................................59 8. PHẦN BÀI TẬP ..................................................................................................61 Bài tập số1:.............................................................................................................. 61 Bài tập số2............................................................................................................... 62 Bài tập số3............................................................................................................... 62 Bài tập số4:.............................................................................................................. 63 LỜI GIẢI ...................................................................................................................... 63 Bài tập số1:.............................................................................................................. 63 Bài tập số2:.............................................................................................................. 64 Bài tập số3:.............................................................................................................. 64 Bài tập số4:.............................................................................................................. 64 9. TÀI LIỆU THAM KHẢO: ...................................................................................66 -3-
  4. Bài giảng Tin Ứng dụng 2 – Matlab 7 1. CHƯƠNG I: MATLAB CĂN BẢN 1.1. Matlab – ngôn ngữcủa tính toán kỹthuật - MATLAB là một ngôn ngữbậ c cao và môi trường tươ n tiế ng tác cho phép bạ n hành các nhiệm vụtính toán có cường độlớn nhanh hơn với các ngôn ngữlậ p trình nhưC, C++ và Fortran. - MATLAB viế t tắ t cho "Matrix Laboratory" - Phòng thí nghiệ m ma trận. Ban đầ u Matlab được thiế t kếbởi Cleve Moler vào những nă m 1970 đ ểsửdụ ng nhưmột công cụdạ y họ c. Từđó đ ế n nay nó đã đ ược phát triể n thành một bộphầ n mềm thương mại rấ t thành công. - Hiệ n nay MATLAB R14 là một bộphầ n mềm cho công việ c tính toán trong các ngành kỹthuậ t, trong khoa học và trong lĩ nh vực toán họ c ứng dụ ng. Matlab cho ta mộ t ngôn ngữlậ p trình mạnh, giao diện đồhọ a xuấ t sắc, và một phạ m vi rất rộng các kiế n thức chuyên môn. Matlab là mộ t thương hiệ u đã đượ c thương mạ i hóa của tậ p đoàn MathWorks, Massachusetts, USA (hiệ n là nhà cung cấ p hàng đầ u thếgiới cho các phầ n mềm tính toán kỹthuật và thiế t kếdựa trên mô hình). 1.2. Khảnăng và những ứng dụng của Matlab - Một trong nhữ ng tính nă ng tuyệ t vời nhấ t của Matlab nhìn từgóc đ ộnhững nhà khoa họ c tính toán là thưviệ n dựng sẵ n to lớn rấ t phong phú các chu trình tính toán và các công cụhiể n thịđ ồhọa. - Matlab cho phép người dùng tiế n hành rấ t nhiều các nhiệm vụthông thường liên quan tới việc giải quyết các vấnđ ềmột cách sốhọ c. Nó cho phép chúng ta dành nhiều thời gian hơn cho việc suy nghĩ , khuyế n khích chúng ta thí nghiệ m. - Matlab ứng dụng những thuật toán hế t sức được trân trọng vì vậ y chúng ta có thể tin tưởng vào kế t quảthu được. t mạ - Các tính toán rấ nh có thểđ ược thực hiệ n chỉvới mộ t hoặ c hai câu lệ nh. - Bạn có thểxây dựng riêng cho mình những hàm toán học cho những ứng dụ ng đặc biệt. p giao diệ - Matlab cung cấ nđồhọ a tuyệ t hả o, các hình từMatlab có thểđem chèn vào LATEX và các tài liệu Word. u hướng dẫ - Tài liệ n này chỉđem đế n một cái nhìn thoáng qua vềsức mạ nh và sự linh hoạt củ a hệthống Matlab. Đểcó được những hiể u biế t sâu sắc và chi tiế t hơn, xin tham khảo các giáo trình Matlab chuyên dụng khác hiệ n có trên thịtrường. -4-
  5. Bài giảng Tin Ứng dụng 2 – Matlab 7 VD: Hãy cùng tham khả o các demo của Matlab đểxem ta có thểlàm được những gì chỉvới một vài dòng lệnh đơn giả n: >> colormap(hsv(64)) >> z = cplxgrid(30); % miền không gian số phức đơn vị z >> cplxmap(z,z^3) % vẽ đồ thị hàm x = z^3 – hinh1 >> cplxroot(3) % vẽ đồ thị hàm y = z^(1/3) – hinh2 Hình 1: Đồthịhàm x = z3 trong không gian sốphức Hình 2: Đồthịhàm y 3 z trong không gian sốphức -5-
  6. Bài giảng Tin Ứng dụng 2 – Matlab 7 1.3. Đặc điểm của Matlab Lập trình theo nghĩ a thông thường, là nhậ p vào máy những câu lệnh rõ ràng, theo một thứtựnhấ tđ ịnh sao cho khi máy thực hiệ n theo đ úng thứtựđó thì sẽcho ta kết quảmong muố n. Mộ t khái niệ m nôm na tương tựnhưvậ y thường thấ y trong các khóa họ c lậ p trình các ngôn ngữC, Pascal... Khi khởi đ ầu với MatLab ta hãy hiể u theo nghĩ a rộng hơn: lậ p trình còn có các bước biể u diễn bài toán dưới dạng các hàm và máy tính qua việc thực hiện các hàm này cho ta kế t quả . Phương pháp này có mức độtrừu tượng cao hơn so với các câu lệnh chỉdẫ n đơn thuần. Đểminh họa đ iề u này, ta xét mộ t ví dụrấ tđơn giả n: so sánh phép cộng hai véctơ trong ngôn ngữlập trình Pascal và MatLab. u diễ - Pascal biể n một véctơdưới dạ ng mả ng (array), chẳ ng hạ n có 3 vec-tơA, B, C và A + B = C: var A: array[1..5] of integer = (3, 7, 4, 2, 0); B: array[1..5] of integer = (-2, 4, 8, 5, 1); C: array[1..5] of integer; i: integer; begin for i := 1 to 5 do begin C[i] := A[i] + B[i] end end. - Cách làm trong MatLab đ ơn giả n hơn nhiề u: A = [3 7 4 2 0]; B = [-2 4 8 5 1]; C = A + B; - Có đ ược sựđ ơn giản nói trên là nhờMatLab đ ã xây dựng sẵn khái niệm ma trận. Dấ u cộng trong dòng lệ nh MatLab biể u thịphép cộng ma trậ n. Pascal không được nhưvậ y; mả ng chỉlà sựbiể u diễn có thứtựcủa các biến. Không có phép cộ ng ma trận, chỉcó phép cộng hai số– vì vậ y chương trình Pascal dài hơn rất nhiề u. - Mộ t đặ cđ iểm nữa là tấ t cảcác biến trong chương trình Pascal trên đều phải được khai báo. Trong MatLab các biến sẽtựđ ộng hình thành trong mỗi câu lệnh gán. Trong nhữ ng nă m gầnđ ây, bên cạnh các ngôn ngữlậ p trình truyền thố ng (C / C++ / Fortran), các ngôn ngữvăn lệ nh (scripting languages) đ ược sửdụ ng phổbiế n hơn trong lĩ nh vực nghiên cứu tính toán. MatLab là một trong các ngôn ngữnhư vậy. Là một ngôn ngữbậ c cao, mỗ i dòng lệnh MatLab thường có tác dụng tương đương với khoả ng 10 dòng lệ nh của C / C++. Người lậ p trình sẽtốn ít thời gian gõ câu lệnh và tập trung hơn vào nội dung chương trình. -6-
  7. Bài giảng Tin Ứng dụng 2 – Matlab 7 Tuy vậ y các ngôn ngữlậ p trình biên dị ch nhưC / Fortran cho phép chương trình tính toán rấ t nhanh và tốc độcũng là một yêu cầ u rất quan trọng trong các chương trình tính lớn. Do đ ó mộ t cách kế t hợp thông minh là phầ n lõi tính toán có thể đ ược viế t bằ ng ngôn ngữbiên dị ch, và các thao tác nhập xuấ t, xửlí, hiể n thịsố liệu được viế t bởi ngôn ngữvă n lệnh nhưMatLab. 1.4. Cài đặt và khởi động Matlab 7.0 1.4.1. Cài đặt Matlab 7.0 u vềcấ - Yêu cầ u hình máy tính: + Bộvi xửlý Pentium hoặ c Pentium Pro c NT (WinXP home, XPprofessional đề + Windows 95 hoặ u được) + Bộđ iều phối đ ồhọa 8 bit và card màn hình tối thiể u 256 màu + Dung lượng ổcứng 25Mb cho tới hơn 1Gb (tùy thuộc vào cách cấ u hình đĩa cứng, phân vùng đĩ a, sốhợp phầ n củ a Matlab được cài đặt), và tới 2,1Gb nế u cài đặt Matlab cùng với Simulink. + Bộnhớđ ộng (RAM) tố i thiể u 16Mb (nên có bộnhớtố i thiể u 128Mb) + Các khuyế n nghịkhác: Bộnhớbổsung, card đồhọa bổsung, card âm thanh, máy in, MS-Word 7.0 hoặ c hơn, trình biên dị ch C, Borlean, Mỉ cosoft (xây dựng file MEX), trình duyệ t internet (đểchạ y Matlab Helpdesk online). - Quá trình cài đặ t Matlab 7.0 cho WindowsXP (bộgồ m 2 đĩ a CD): + Đưa đ ĩa CD vào ổđọ c. Nếu chương trình SETUP không tựđ ộng chạ y thì n đúp vào biể nhấ u tượng setup.exe đểbắt đầ u quá trình cài đặ t. p nhậ + Accept (chấ n) những thỏa thuậ n vềbả n quyề n. sau đ ó click Next. + Nế u bạn cài theo kiể u mặ c định (hay còn gọ i là Typical setup - kiể u phổ biến), Matlab trên máy tính củ a bạ n sẽcó các hợp phầ n cơbả n nhấtđ ểlàm việc theo các hướ ng dẫn trong tài liệu này. Theo các hướng dẫ n trên màn hình. Cho đĩ a CD thứ2 vào khi đ ược yêu cầ u. + Nế u bạn cài đặt theo kiểu tùy chọn cá nhân (Manual setup) thì nhấ n vào các hộp thành phầ n dấ u 'v' nếu bạn muố n có tùy chọ n đó. Nhấ n tiếp nếu bạn không có ý định (có thểthêm vào sau này nế u muố n). n thị'C:\MATLAB7' là thưmụ + Trên màn hình hiể c mặ cđị nh của quá trình cài đặ t. Nế u bạ n muốn cài đặt vào đị a chỉkhác, hoặc đổ i tên thưmục, thì bạn lựa chọ n 'Browse'. -7-
  8. Bài giảng Tin Ứng dụng 2 – Matlab 7 t hướng dẫ + Chi tiế n cài đặ t xin xem file ‘ install_guide.pdf’trong đ ĩa CD1 n tiế (bả ng Anh). 1.4.2. Khởi động Matlab (Hệđiều hành Windows) - TừHĐH Windows, khởi động Matlab đ ơn giản bằ ng cách nháy đ u tượng MATLAB trên màn hình, hoặ úp vào biể c bằng cách chọ n MATLAB từMenu Start. - Quá trình khởi đ ộng đưa người dùng đế n Cửa sổlệ nh, nơi các dòng lệnh được biểu thị bằng '>>'. >>_ Đây là dấu hiệ u cho thấ y Matlab đang chờbạ nđánh một (câu) lệ nh. Khi hoạt độ ng trong chếđộmáy tính cầ m tay, tất cảcác lệ nh của Matlab được nhậ p vào dòng lệnh từbàn phím. - Matlab có thểđượ c sửdụng theo nhiề u chếđ ộvà nhiề u cách khác nhau; + Nhưmột máy tính cầ m tay cao cấ p trong chếđộmáy tính cầ m tay + Nhưmột ngôn ngữlậ p trình bậ c cao + Nhưmột chu trình con gọ i từchương trình C u này chúng ta sẽđi nghiên cứu chi tiế Trong tài liệ t 2 chếđộđầ u tiên. 1.5. Quản lý không gian làm việc của Matlab - Vềcơbả n, không gian làm việ c của Matlab gồ m có các phầ n sau: + Cửa sổtrợgiúp (Help window) + Nút Start + Cửa sổnhậ p lệ nh (Command window) + Cửa sổkhông gian làm việ c (Workspace window) + Cửa sổquá trình lệ nh (Command History window - lị ch sử) + Cửa sổbiên tậ p mả ng, vectơ, ma trậ n (Array editor window) + Cửa sổđ ịa chỉthưmục hiệ n thời (Current directory window) - Nút ‘x’ ởgóc trên bên phải mỗi cửa sổdùng đ ểđóng chúng. Hiể n thịlạ i cửa sổ bằ ’vào tên cửa sổtương ứng trong menu Desktop. ng cách tích ‘ nh nút ‘ - Nút mũi tên cong bên cạ x’dùng đểtách các cửa sổlàm việc trong cửa sổ chính MATLAB thành cửa sổcon đ ộc lậ p. Ấn nút này mộ t lầ n nữa sẽnhậ p một cửa sổđộ c lập vềcửa sổchính của MATLAB. - Cửa sổHelp, History sẽđược giới thiệ u cụthểtrong mục 1.7 và mụ c 1.8. Sau đây các cửa sổlàm việ c còn lạ i sẽđ ược giới thiệ u vắ n tắ t. -8-
  9. Bài giảng Tin Ứng dụng 2 – Matlab 7 n củ Hình 1.1: Giao diệ a Matlab 7.0 * Nút Start: ởgóc dưới bên trái củ a màn hình Matlab, cho phép ta chạ y các ứng dụ ng mẫ u (demos), các công cụvà cửa sổchưa hiể n thịkhi khởi độ ng Matlab. Bằ ng cách đánh lệ nh 'demo' bạ n có thểtiế p cận với mộ t tậ p hợp sâu rộng những n giá trịrấ file trình diễ t cao, vì đó là biể u hiện cho những khảnă ng của Matlab. : Thửchạ Ví dụ y Start -> Matlab -> Demos và chạ y mộ t ứng dụ ng mẫ u trong cửa sổDemo(s). nh này sẽxóa tấ Ghi chú: Lệ t cảgiá trịcủ a các biế n hiệ n có. * Cửa sổlệ nh: đã đ ược đềcậ p ởmụ c 1.4.2. (Khởi độ ng Matlab). - Các diễn giải và câu (mệ nh đề) của Matlab được đánh giá khi bạ n gõ vào 'Cửa sổ lệnh', và các kế t quảtính toán cũ ng được thểhiệ n tạ i đây. Không giố ng như Fortran và các ngôn ngữtính toán cầ n biên dịch khác, Matlab là mộ t môi trường tương tác – bạ nđ ưa ra một câu lệnh, và Matlab cốgắ ng thực thi nó ngay lậ p tức trước khi đòi hỏ i 1 lệ nh tiế p theo. n giả - Các diễ i và câu cũng đư ợc sửdụ ng trong các M-file (sẽđượ c trình bày chi t ởchương V). Chúng thường có cấ tiế u trúc: n = diễ >> biế i n giả c đơn giả hoặ n là n giả >> diễ i  n giả - Các diễ i thường được soạn bằ ng các toán tử, các hàm, và tên các biến, và được hiển thịtrên màn hình sau khi ấn Enter. Các câu lệ nh có dạng ‘tên biến= -9-
  10. Bài giảng Tin Ứng dụng 2 – Matlab 7 diễn giải’thì diễn giải đ ó sẽđ ược gán cho biếnđ ểsửdụng sau này. Khi ‘tên biến’ và dấ u‘=’ được bỏđi thì kế t quảcủa diễn giải sẽđược tựđ ộng gán cho biến có tên ‘ans’ (hay answer – câu trảlời) và hiể n thịtrên màn hình. - Một câu (lệ nh) thông thường sẽkết thúc ởcuối dòng. Tuy nhiên có thểtiế p tục một câu bằng ba dấu chấm‘ …’ ởcuối dòng. - Có thểđ ặt mộ t vài câu lệ nh trên cùng mộ t hàng, ngă n cách bởi dấ u phẩ y‘ c ,’ hoặ chấm phẩy‘ ;’ - Nếu mộ t câu lệnh kế t thúc bằng dấ u chấm phẩ y ởcuố i câu thì kế t quảcủa lệ nh đó sẽkhông được hiể n thị, tuy nhiên yêu cầu tính vẫn được thực hiệ n (phép tính hay phép gán vẫ n được thực hiệ n, kết quảcó trong workspace). Điề u này là thiết yếu trong việ cẩnđ i các kế t quảtrung gian không mong muốn (VD nhưkhi thực hiện mộtloạ t phép tính, hay tính toán với các ma trận lớn). n có thểxóa trắ - Bạ ng toàn bộcửa sổlệ nh bằ ng lệ nh >> clc  % (clear command window) c vào menu Edit -> Clear Command Window. Khi thực hiệ hoặ n lệ nh này, toàn bộgiá trịcủa các biế n hiệ n có không thay đ ổi hay mấ t đi. * Cửa sổ không gian làm việ c (workspace): Các biế n và dữliệ u mà bạ n nhập vào hoặ c tính toán ra sẽđ ược Matlab lưu trong mộ t phần gọi là 'không gian làm việc'. Tất cảcác biế n, ngoạ i trừnhững biến cục bộthuộ c vềmộ t M-file, sẽ đ ược thểhiệ n trong không gian làm việc nh 'who' hoặ - Lệ c 'whos' liệ t kê các biế n hiệ n có trong không gian làm việ c. VD: đánh lệnh 'whos' vào cửa sổlệnh, bạ n sẽthấ y mộ t danh sách các biế n hiệ n có u loạ cùng kiể i và kích cỡcủa chúng. - Đểbiết giá trịhiệ n tạ i của mộ t biế n, bạ nđánh vào tên biế n tạ i dấ u nhắ c của cửa sổlệnh và Enter. - Đểxóa mộ t hàm hoặ c biế n khỏ i không gian làm việ c, ta sửdụng lệ nh 'clear': n >> clear tên_biế  n thân lệ Bả nh 'clear' sẽxóa tấ t cảcác biế n hiệ n có (tương đương với 'clear all') - 10 -
  11. Bài giảng Tin Ứng dụng 2 – Matlab 7 * Cửa sổbiên tậ p mả ng (ma trậ n nói chung): Khi ta đã có một mả ng, ta có thể chỉnh sửa, biên tập lại nó bằ ng Array Editor. Công cụnày làm việc nhưmộ t bảng tính (spreadsheet) cho ma trận. Ví dụ: Có ma trậ n M, hãy thửclick và thay đổi nó, thay đổi các phầ n tử, hay kích thước ma trậ n. Quay trởlạ i Cửa sổlệ nh và gõ 'M' rồi Enter, xem ma trậ n M của chúng ta sau khi thay đổi. n cũng có thểbiên tậ + Bạ p lạ i ma trậ n M bằ ng cách đ ánh lệ nh >> openvar ('C')  * Cửa sổđị a chỉthưmục hiệ n thời: Thưmục hiệ n thời là nơi chương trình Matlab sẽtìm các M-file, và các file không gian làm việc (.mat files) mà bạ n đã Load và Save. 1.6. Ghi & phục hồi dữliệu 1.6.1. Lưu và phục hồi dữliệu - Đểnhớcác biế n, Matlab có thểghi và gọi lạ i dữliệu từfile trong máy tính của bạ n. Mục Save Workplace as... trong bảng chọn File sẽmởhộ p hội thoạ i đểghi tất cảcác biế n hiện tạ i. - Tương tự, mục Load Workplace trong bảng chọ n File sẽmởhộ p hội thoạ i đểgọi lại tấ t cảcác biế n mà ta đ i từkhông gian làm việ ã ghi lạ c trước. Ghi chú: việ c Load không làm mấ t các biế n hiện có trong không gian lamg việ c hiện tạ i. Khi ta gọ i lạ i các biế n mà chúng trùng tên với các biế n trong không gian làm việ c của Matlab, nó sẽthay đổi giá trịcủa các biế n theo giá trịcủa các biế n gọi ra từfile. - Ngoài các bảng chọ n, Matlab còn cung cấ p hai lệ nh Save và Load, nó thực hiện một cách mề m dẻ o hơn. Lệnh save cho phép bạ n ghi một hoặc nhiề u hơn mộ t biế n tùy theo sựlựa chọn. Ví dụ: >> save  t cảcác biế - lưu tấ n trong Matlab theo kiể u nhịphân trong file matlab.mat >> save dulieu  t cảcác biế - lưu tấ n trong Matlab theo kiể u nhịphân trong file dulieu.mat >> save dulieu A B C D -ascii  n A, B, C, D theo dạ - lưu các biế ng mã ASCII trong file dulieu.mat 1.6.2. Lưu một bộdữliệu (record) - 11 -
  12. Bài giảng Tin Ứng dụng 2 – Matlab 7 1.6.3. Lưu một phiên (session) Khi làm bài tập, việ c lưu tấ t cảcác thông sốđầ u vào và đ ầ u ra củ a phiên làm việ c với Matlab hiệ n tại củ a bạ n cho việ c in ấ n sau này là rất hữu ích. Lệnh 'diary' sử dụng cho mục đích này, sẽlưu tấ t cảnhững thông sốđầ u vào và đầu ra ởgiữa hai nh 'diary' và 'diary off'. Từdấ lệ u nhắc ởdòng lệnh, bạ n đánh: >> diary('diary_file_name')  >> nh củ ........ (các câu lệ a bạ n ởđây)  >> diary off  1.7. Sửdụng Help - Trợgiúp và thông tin vềcác lệ nh của Matlab có thểđ ược tìm thấ y theo nhiề u cách: + Từdòng lệ nh bằ ng cách đ ánh lệ nh 'help chủđ ề' (xem dưới đ ây) + Từcửa sổHelp riêng biệ t xuấ t phát ởMenu Help a Matlab lưu trữtrên đ + Từhelpdesk củ ĩa hoặ c CD-rom, hoặ c + Từmạ ng Internet - Từdòng lệ nh, đ ơn giả n nhấ t hãy đ nh 'help' và Enter! ánh lệ Kế t quả : Matlab cho ta một bả n tóm tắ t vềhệthống trợgiúp.Mộ t vài dòng đ ầu tiên của kế t quảsẽnhưsau: HELP topics: (Các chủđ ềtrợgiúp) matlab/general nh với mục đ - Các lệ ích tổng quát. matlab/ops - (operators) Các toán tửvà các ký tựđ ặc biệ t... matlab/lang - (language) Ngôn ngữlậ p trình... matlab/elmat n că - (elementary) Ma trậ n bả n... matlab/elfun - (elementary functions) Các hàm toán că n. n bả matlab/specfun - (specialized functions) Các hàm toán đặ c biệ t. - Thông thường bạ n sẽthấ y cửa sổtext không đủlớn đ ểchứa tấ t cảthông tin từ một lệnh Matlab. Do đó bạ n có thểsửdụ ng chức năng 'more on' đểxem thông tin theo từng trang màn hình, sau đ t từng trang mộ ó duyệ t bằng cách nhấ n phím bất kỳ. Đánh 'more off' vào cửa sổlệ nh sẽđưa Matlab trởvềcách cưxửthông thường, không duyệt từng trang. - Thông thường bạn có thểkhông nhớchính xác tên củ a một lệ nh Matlab, trong trường hợp đó bạ n có thểsửdụng lệnh 'lookfor' (tìm kiế m) nhưmộtsựtrợgiúp. - 12 -
  13. Bài giảng Tin Ứng dụng 2 – Matlab 7 u bạ Ví dụ, nế nđ ánh vào dòng lệ nh 'lookfor logarithm', Matlab sẽliệ t kê tấ t cảcác hàm từng biế t của Matlab có liên quan tới Logarit. n cửa sổHelp củ Hình 1. : Giao diệ a Matlab 7.0 1.8. History & Editing - Trong giao diệ n mặ c định của Matlab, cử a sổ'Command History' (lị ch sửcác lệnh) nằ m ởgóc phầ n tưbên dưới, phía trái. Trong cửa sổnày, các lệ nh đã sử dụ ng trong các lần khởi độ ng Matlab gần đây đề uđ ược lưu lạ i. Mỗi lần khởi động Matlab, toàn bộcác lệ nh sửdụng trong lầ nđ ó sẽđược lưu lạ i dưới dạ ng một nhóm có thểđ óng mởbằ ng nút biể u tượng '+' (expand)hoặ c '-' (collapse) ởđầ u dòng (dòng ghi mố c thờigian giữa hai dấu chú thích '%'): VD: (+) %-- 8/14/07 3:21 PM --% (-) %-- 8/14/07 3:21 PM --% - Đểgọi lại lệ nh từcửa sổ'Command History', bạ n tìm đ ến lệ nh đ ó bằ ng các thanh cuốn, rồ i nháy đúp vào tên lệ nh. - Đểgọi lại các lệ nh bạ nđã sửdụng từdấ u nhắ c củ a cửa sổlệ nh, Matlab dùng các phím mũi tên () trên bàn phím. - Ví dụ , đểgọ i lạ i lệ nh bạ n gõ vào lúc gần nhất, bạn nhấn phím mũ i tên lên (). Tiếp tục nhấ n phím này, nó sẽgọ i tiế p lệ nh trước đó. Phím mũ i tên xuống gọi lạ i lệnh theo thứtựngược lạ i. - 13 -
  14. Bài giảng Tin Ứng dụng 2 – Matlab 7 - Các phím mũi tên  và  có thểdùng đ ểthay đổ i vịtrí con trỏtrong dòng lệnh tại dấ u nhắ c củ a Matlab, nhưvậ y chúng ta có thểsửa dòng lệ nh. Thêm nữa, có thể dùng chuột cùng với bộnhớđệ mđ ểcắt, copy, dán và sửa vă n bả n tạ i dấ u nhắc của dòng lệnh. - 14 -
  15. Bài giảng Tin Ứng dụng 2 – Matlab 7 2. CHƯƠNG II: TÍNH TOÁN TRONG MATLAB 2.1. Matlab - một máy tính cá nhân * Giới thiệ u các toán tửsốhọc: - Các toán tửsốhọc của Matlab hoạ t độ ng theo một cú pháp rấ t giố ng với cú pháp của các ngôn ngữkhác mà bạ n có thểđã quen thuộc nhưTurbo Pascal, C, C++, Fortran, Java... - Các toán tửcơbả n gồm có + - * / ^ = và chúng được dùng kế t hợp với ngoặcđ ơn: ( ). Toán tử'=' là toán tửgán. Toán tử ^ đ ược dùng đểcho lũ y thừa: 2^4=16. Với những toán tửnày ta có thểdùng Matlab nhưmộ t máy tính cá nhân đơn giản. n có thểđánh các lệ * Ví dụ: Bạ nh dưới đây vào sau dấ u nhắ c lệ nh: >>_. >> A = 2 + 3/4*5 A = 5.7500 >> B = 2^5 - 3*A B = 14.7500 >> A + B ans = 20.5000 Khi không có toán tửgán, Matlab trảkế t quảcủ a phép tính gầ n nhấ t vào biế n 'ans = ...' (answer). Xem thêm mục 2.2. * Thứtựưu tiên tính toán: Trong ví dụtrên, Matlab đã tính nhưthếnào, 2 + 3/(4*5) hay 2 + (3/4)*5? c theo thứtựưu tiên sau: Matlab làm việ 1. các đạ i lượng trong ngoặ cđơn, 2. lũy thừa 2 + 3^2  2 + 9 = 11, c từtrái qua phả 3. * /, làm việ i (3*4/5 = 12/5), c từtrái qua phả 4. + -, làm việ i (3+4-5=7-5), y phép tính ởtrên sẽtheo thứtựư Vì vậ u tiên 3. * Bộcác toán tửcủa Matlab: (Xem thêm Help/Arithmetic operators) Toán tử Mô tả + Cộng - Trừ - 15 -
  16. Bài giảng Tin Ứng dụng 2 – Matlab 7 .* ng cùng kích thước (nhân phầ Nhân mả n tửvới phầ n tử) ./ Chia mảng cùng kích thước (chia phần tửvới phầ n tử) .\ Chia mảng trái : Toán tửHai chấ m .^ Lũy thừa mảng, lũy thừa từng phầ n tửvới phầ n tử .' Chuyển vịmảng ' Chuyển vịma trận - ma trậ n liên hợp (MTLH phức) * n). Đạ Nhân (ma trậ i sốtuyế n tính. / Chia (ma trận), B/A B*inv(A), chính xác hơn B/A=(A'\B') \ Chia (ma trận) trái. A\B ~ inv(A)*B ^ Lũy thừa ma trận 2.2. Biến trong Matlab * Ví dụ: >> 2^3-3 ans = 5 >> ans*6 ans = 30 - Kết quảcủa phép tính thứnhấ tđược Matlab gán cho biến 'ans', biến này được sử dụ ng cho phép tính thứhai, qua đ ó giá trịcủ a nó đã đ ược thay đổ i (được gán lạ i). - Chúng ta có thểsửdụng tên riêng do ta đ ặtđ ểlưu các giá trị số >> x = 2^3-3 x = 5 >> y = x*6 y = 30 từđó 'x' có giá trịbằ ng 5 và 'y' bằ ng 30. Chúng có thểđ ược sửdụng cho những p theo. tính toán tiế - Đây là các ví dụvềvềcâu lệ nh gán: các giá trịđược gán cho các biế n. Cần phả i gán một giá trịcho mỗi biế n trước khi sửdụng biế n đó trong câu lệ nh tiếp theo. c đặ * Quy tắ t tên biế n: n hợp lệcấ - Tên biế u tạ o bởi các chữvà số, bắ tđầ u bằ ng chữ. Nên đặ t tên biế n phản ánh giá trịmà nó đại diệ n cho. Các tên sau hợp lệ : - 16 -
  17. Bài giảng Tin Ứng dụng 2 – Matlab 7 Hsig, Let2try, Dhaluu, T1, V2, z25c5 Các tên sau không hợp lệ : chu-ky, 2P, %x, @wru - Chiều dài tên biến: Mặ c dù tên biến có thểcó độdài tùy ý, nhưng Matlab sẽchỉ sửdụ ng N ký tựđ ầu tiên của tên, vì vậy các biế n khác nhau không được có N ký tựđầ u tiên đều giống nhau. N = namelengthmax  N = 63 n có thểsựdụng hàm 'isvarname' đểkiể - Bạ m tra tính hợp lệcủ a tên biế n. Hàm trả vềgiá trị1 nế u tên hợp lệvà 0 nế u tên đó không hợp lệ . isvarname 8th_column  ans = 0 % Not valid - begins with a number - Thông thường, tên biế n không phụthuộc vào chữhoa - chữthường. Vì thế'xyz' sẽgiống như'xYz'. - Tránh đ ặt tên biế n trùng với tên các hàm chuẩn, hoặc các từkhóa của Matlab. Vì nhưvậ y thông thường bạ n sẽkhông thểsửdụ ng các hàm, từkhóa của Matlab nữa. VD: Nếu bạn gán cho 1 biế n tên là 'sqrt' một giá trị , thì bạ n sẽkhông thểsửdụ ng hàm că n bậc hai (sqrt) nữa! - Matlab đã đ ăng ký trước rấ t nhiề u từkhóa (xem bằ ng lệ nh 'iskeyword'): 'break' 'case' 'catch' 'continue' 'else' 'elseif' 'end' 'for' 'function' 'global' 'if' 'otherwise' 'persistent' 'return' 'switch' 'try' 'while' ng và các hàm, xem danh sách trong Help/Functions/Categorical List); và các hằ số. Một sốhằng sốvà hàm thông dụng có thểxem ởmục 2.5 và 2.6. 2.3. Các kiểu dữliệu - Đị nh dạng kết quả * Tổng quát vềcác kiể u dữliệ u: - Matlab sửdụ ng 15 kiểu (loạ i) dữliệ u chính. Mỗi một kiể u dữliệ u này đ ềuở dạ ng của một ma trận hoặc mả ng. Các mả ng hoặc ma trậ n này có kích cỡtối thiể u là 0-nhân-0 và có thểphát triể n tới mảng n-chiều với kích cỡtùy ý. - Ngoài ra còn có các kiểu dữliệ u do người dùng đị nh nghĩ a (thiế t lậ p), kiể u hướng đối tượng, và kiể u dữliệ u liên quan tớiJava. - 17 -
  18. Bài giảng Tin Ứng dụng 2 – Matlab 7 u dữliệ Hình 2.1. Các kiể u của Matlab * Đị nh dạ ng kế t quả : - Sửdụ ng lệnh 'format' cùng các đị nh dạng. Lệnh này chỉlàm thay đổ i cách mà kế t quảđư ợc hiển thịtrên màn hình, không làm thay đ ổi độchính xác của sốhoặ c phép tính. Hầu hế t các phép tính sốhọ c củ a Matlab đượ c thực hiện với độchính xác Double, nghĩ a là độchính xác 16 chữsốsau dấ u phẩ y thập phân. - Đểthực hiệ n lênh, từdấ u nhắ c củ a cửa sổlệ nh đánh mộ t trong các lệ nh sau: format short u phẩ : dấ y thậ p phân cốđ ịnh, 5 chữsố format long u phẩ : dấ y cốđị nh, 15 chữsố format short e u khoa họ : ký hiệ c, 5 chữsố format long e u khoa họ : ký hiệ c, 15 chữsố format short g u phẩ : dấ y cốđị nh hoặ c di độ ng, 5 chữsố format long g u phẩ : dấ y cốđị nh hoặ c di độ ng, 15 chữsố format hex ng Hexa (hệ16) : format dạ format '+' : dương (+), âm (-), và ký tựtrắ ng (blank) ứng với 0 format bank : Dollars và cents format rat : tỷlệxấp xỉinteger - Thông thường, 'format short' là dạng mặc đị nh. Khi đ ược gọ i lên, một dạ ng format sẽcó hiệ u lực tới khi nó đ ược thay đổ i. 2.4. Các kiểu dữliệu số& sốphức - Integer: ví dụnhư-5 hay 9888. - 18 -
  19. Bài giảng Tin Ứng dụng 2 – Matlab 7 - Double precision reals: Trong Matlab, tấ t cảcác sốthực được lưu với đ ộchính xác double, không giố ng các ngôn ngữlậ p trình khác nhưC hay Fortran khi chỉcó một loại riêng biệ t float hay real*8 cho các sốthực vớiđộchính xác single. - Một dạ ng ngắ n cực kỳhiệ u quảcho việ c nhậ p các sốrấ t lớn hoặ c rất bé là dạ ng -7 ký hiệu 'e'. Chẳng hạn -1.23456e-7 là dạ ng ngắn của -1.23456 x 10 ; và 8.76e+12 12 ng viế là dạ t ngắ n của 8.76 x 10 . Ví dụ: >> 1.23e-2  ans = 0.0123 >> 5e6  ans = 5000000 - Sốphức: đ ược nhậ p vào dưới dạ ng 3+2*i hoặ c 3+2*sqrt(-1). - Chuỗ i: là mộ t mả ng tậ p hợp củ a các ký tự, được nhậ p vào dưới dạ ng 'abc' hoặ c 'vi du day la mot chuoi'. Trên đây là những kiể u dữliệu cơbản mà bạn sẽrất thường dùng trong khóa học này. Đểbiế t danh sách đầyđ ủhơn, bạ n có thểdùng lệ nh 'help datatypes' từcửa sổ nhập lệnh. 2.5. Các ký tự, Chuỗi và Văn bản - Khảnă ng xửlý vă n bả n trong tính toán rất hữu ích cho việc nhập/xuất kế t quả từ/tới màn hình và file lưu trên đĩa. Đểcó thểquả n lý văn bản, một loạ i dữliệ u là 'character' được đưa vào Matlab. Mộ t mảnh của vă n bảnđ ơn giản là mộ t chuỗi (vectơ) hay một mảng các ký tự. VD: >> t1='A'  sẽgán giá trịA cho mộ t mả ng ký tựtên 't1', kích thước 1 x 1. >> t2='BCDE'  sẽgán giá trịBCDE cho mộ t mả ng ký tựtên 't2', kích thước 1 x 4. - Các chuỗi có thểđ ược cộ ng với nhau bằ ng cách sửdụ ng các toán tửthao tác trong mảng. VD: >> t3=[t1, t2]  sẽgán giá trịABCDE cho mộ t mả ng ký tựtên 't3', kích thước 1 x 5. >> t4=[t3, ' la 5 ky tu dau tien ';... 'trong bang chu cai latinh.']  sẽgán giá trị 'ABCDE la 5 ky tu dau tien ' ' 'trong bang chu cai latinh.' cho một mả ng ký tựtên 't4', kích thước 2 x 26. - 19 -
  20. Bài giảng Tin Ứng dụng 2 – Matlab 7 - Cần chú ý rằng sốcác ký tựởhai dòng phả i bằ ng nhau, nế u không việ c thực thi nh trên sẽdẫ câu lệ n tới một lỗi: ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. u ba chấ - Dấ m '...' thểhiệ n rằ ng câu lệ nh còn tiế p tục ởdòng sau. n đổ * Chuyể i giữa chuỗi và số - Đôi khi chúng ta cầ n chuyể n mộ t chuỗi thành mộ t sốtương ứng, hoặ c ngược lạ i. Các công việ c chuyển đổi này được thực hiệ n bởi lệnh: n một chuỗi thành sốtương ứng - 'str2num': chuyể nh: và hai lệ n một sốthực thành chuỗ - 'num2str': chuyể i tươ ng ứng - 'int2str': n một chuỗi thành sốtương ứng chuyể - Những lệnh này rấ t hữu ích trong việ c tạ o ra các nhãn và tiêu đềmột cách tự động, chẳ ng hạn như 2.6. Các hằng sốdựng sẵn Matlab đ ịnh nghĩ a sẵ n nhiề u hàm sốrấ t hữu ích, bao gồm:  pi, = 3.141592654...  i và j, cảhai đ ều bằng phầ n ảo của sốphức, = sqrt(-1)  inf, 'infinity' hay 'vô cùng'  NaN, 'not-a-number' hay 'không phả i là mộ t số '  ans, luôn được gán cho kế t quảcủ a lệ nh tính trước đ ó  ... Bạ n nên tránh gán lạ i giá trịkhác cho các hằ ng sốnêu trên nếu có thể. Chỉcó một ngoạ i lệlà i và j, vì cảhai thường đ ược sửdụng nhưcác chỉsốcủ a vòng lặp. Việ c gán lạ i giá trịkhác cho các hằ ng sốnày là chấp nhậ nđ ược vì sốphức luôn có thể thu được bằ ng cách sửdụng sqrt(-1). 2.7. Các hàm dựng sẵn - Cũng nhưnhững ngôn ngữbậ c cao khác, Matlab thực thi các 'function' (hàm) nhiều hơn 'procedure' (chương trình con). Các hàm này bao gồm că n bậ c hai - 20 -
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2