MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC
lượt xem 178
download
Để có thông tin mới nhất về yêu cầu của hệ thống chúng ta có thể vào MathWorks Web site (www.mathworks.com), system requirements page. Matlab là một phần mềm có yêu cầu khá cao với hệ thống máy tính, để chạy phần mềm này máy tính cần đảm bảo những yếu tố tối thiểu sau: Bộ xử lý: Pentium, Pentium Pro, Pentium II, Pentium III, Pentium IV, or AMD Athlon Hệ điều hành: Microsoft Windows 95, Windows 98 (original and Second Edition), Windows NT 4.0 (with Service Pack 5 for Y2K compliancy) or Windows 2000 Ổ CD-ROM để cài đặt....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA HÓA HỌC MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC
- 2 HÀ NỘI-2003 Lời giới thiệu MATLAB integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing. MATLAB includes tools for: Data acquisition Data analysis and exploration Visualization and image processing Algorithm prototyping and development Modeling and simulation Programming and application development
- 3 Mục lục 1. Cài đặt và giao diện của matlab....................................................................................8 1.1. Cấu hình yêu cầu với Matlab 6.0, 6.5 ...................................................................8 1.2. Cài đặt phần mềm..................................................................................................9 1.3. Giao diện.................................................................................................................9 2. Những khái niệm cơ sở...............................................................................................10 2.1. Các phím tắt..........................................................................................................10 2.2. Lập trình với Matlab.............................................................................................10 2.2.1. Biến trong matlab..........................................................................................12 2.2.2. Nhập dữ liệu.................................................................................................13 2.2.3. Làm việc với workspace................................................................................14 2.2.4. Làm việc với command history.....................................................................15 2.2.5. Làm việc với current directory, quản lý tệp.................................................17 3. Các dạng hiển thị số và các hàm toán học thông dụng..............................................18 3.1. Các dạng hiển thị số.............................................................................................18 3.2. Số phức.................................................................................................................18 3.3. Các hàm toán học thông dụng..............................................................................19 4. Quản lý ma trận dữ liệu..............................................................................................20 4.1. Ma trận 1 chiều....................................................................................................20 4.1.1. Ma trận hàng..................................................................................................20
- 4 4.1.2. Ma trận cột....................................................................................................21 4.2. Ma trận nhiều chiều.............................................................................................22 4.3. Các phép toán trong ma trận.................................................................................23 4.5. Địa chỉ dữ liệu trong ma trận...............................................................................24 4.6. Các hàm thông dụng.............................................................................................25 6. Quản lý văn bản..........................................................................................................27 7. Quản lý thời gian.........................................................................................................29 7.1 Các hàm thời gian..................................................................................................29 7.2. Lập lịch các tháng ................................................................................................29 7.3. Hiển thị ngày giờ hiện tại....................................................................................29 7.3. Tính khoảng thời gian ..........................................................................................31 8. Cấu trúc vòng lặp và điều kiện .................................................................................31 8.1. Vòng lặp for .........................................................................................................31 8.2. Vòng lặp while......................................................................................................32 8.3. Cấu trúc điều kiện if-else-end.............................................................................33 8.4. Cấu trúc switch-case.............................................................................................33 9. Phân tích dữ liệu và các hàm chuyển đổi Fourier......................................................34 10. Tạo và giải hệ phương trình tuyến tính...................................................................38 11. Đa thức và các hàm nội suy.......................................................................................40 11.1. Các phép toán đối với đa thức............................................................................40 11.1.1. Cộng, trừ hai đa thức...................................................................................40 11.1.2. Nhân, chia hai đa thức..................................................................................41 11.1.3. Tính giá trị đa thức.......................................................................................41 11.1.4. Đạo hàm và tích phân .................................................................................42 11.1.5. Nghiệm của phương trình đa thức..............................................................42 11.2. Các phép nội suy dữ liệu...................................................................................43 12. Hàm số ......................................................................................................................49 12.1. Khảo sát hàm số.................................................................................................49 * Vẽ đồ thị hàm số: ................................................................................................49 * Xác định các cực trị trong lân cận hẹp................................................................49 12.2. Tìm giao điểm của đồ thị hàm số với trục hoành và với đồ thị hàm số khác.50 12.3. Đạo hàm.............................................................................................................50 12.4. Tích phân............................................................................................................50 13. Hộp công cụ...............................................................................................................51 13.1. Giới thiệu các hộp công cụ...............................................................................51 13.2. Hộp công cụ toán học.........................................................................................52 13.1.1. Biến tượng trưng ........................................................................................52 * Khái niệm..............................................................................................................52 * Đổi tên biến..........................................................................................................53 * Hàm double chuyển một hằng tượng trưng thành kiểu số ...............................53 13.1.2. Các phép toán trên biểu thức tượng trưng..................................................54 * Các hàm số, ma trận sử dụng ký tự +, -, *, /, ^ để thực hiện các phép toán cộng trừ, nhân, chia, mũ hóa.................................................................................................54
- 5 * Hàm compose(f,g)=f(g(x)) kết hợp hai hàm số và finverse(g) xác định hàm ngược của g.................................................................................................................55 13.1.3. Đạo hàm và tích phân..................................................................................55 13.1.4. Giải các phương trình tượng trưng............................................................57 14. Đồ họa trong matlab..................................................................................................60 14.1. Đồ họa trong không gian hai chiều....................................................................61 14.1.1. Các hàm vẽ đồ thị........................................................................................61 14.1.2. Các tùy chọn ...............................................................................................62 14.1.3. Hệ trục tọa độ, nhãn, lưới, hộp chứa trục, chú thích................................63 14.2. Đồ họa trong không gian 3 chiều.......................................................................67 14.2.1. Đồ thị bề mặt và lưới.................................................................................67 14.2.3. Các tùy chọn, hệ trục tọa độ, nhãn, lưới, hộp chứa trục, chú thích.........71 14.2.4. Điều khiển màu và ánh sáng.......................................................................74 Các khối lệnh cơ bản......................................................................................................76 Các lệnh đa năng..............................................................................................................76 Quản lý hàm và lệnh ..................................................................................................76 Quản lý biến và không gian làm việc.........................................................................77 Kiểm soát command window......................................................................................77 Làm việc với file và môi trường hoạt động...............................................................77 Khởi động và thoát chương trình MATLAB..............................................................78 Các ký tự đặc biệt và toán tử .........................................................................................78 Các hàm logic...................................................................................................................79 Xây dựng và gỡ rối ngôn ngữ lập trình..........................................................................79 MATLAB là một ngôn ngữ lập trình..........................................................................79 Điều khiển luồng (Control Flow)...............................................................................79 Nhập dữ liệu (Interactive Input).................................................................................79 Lập trình hướng đối tượng (Object-Oriented Programming)....................................80 Gỡ rối...........................................................................................................................80 Các ma trận cơ sở và thao tác với ma trận (Elementary Matrices and Matrix Manipulation)........................................................................................................................80 Ma trận cơ sở và mảng (Elementary Matrices and Arrays)........................................80 Hằng số và biến đặc biệt (Special Variables and Constants)....................................81 Ngày tháng và thời gian (Time and Dates)..................................................................81 Thao tác với ma trận (Matrix Manipulation)...............................................................81 Các hàm vector (Vector Functions)..............................................................................82 Các ma trận chuyên dụng (pecialized Matrices).........................................................82 Các hàm toán học cơ sở (Elementary Math Functions)..............................................82 Các hàm toán học chuyên dụng (Specialized Math Functions)...................................83 Chuyển đổi hệ trục tọa độ (Coordinate System Conversion)........................................83 Hàm ma trận và đại số học tuyến tính (Matrix Functions - Numerical Linear Algebra ) ..............................................................................................................................................83 Phân tích ma trận (Matrix Analysis)............................................................................83 Các phương trình tuyến tính (Linear Equations).........................................................84
- 6 Giá trị duy nhất và giá trị riêng (Eigenvalues and Singular Values)...........................84 Các hàm ma trận (Matrix Functions)...........................................................................84 Các hàm cấp dưới (Low Level Functions)..................................................................84 Phân tích dữ liệu và hàm chuyển đổi Fourier (Data Analysis and Fourier Transform Functions).............................................................................................................................84 Sai phân hữu hạn (Finite Differences).........................................................................85 Sự tương quan (Correlation)........................................................................................85 Lọc và xếp trật tự (Filtering and Convolution)..........................................................85 Các hàm nội suy và đa thức (Polynomial and Interpolation Functions)..........................86 Đa thức (Polynomials).................................................................................................86 Nội suy dữ liệu (Data Interpolation)...........................................................................86 Các phương pháp toán học không tuyến tính và các hàm chức năng (Function Functions - Nonlinear Numerical Methods).........................................................................87 Hàm ma trận rời rạc (Sparse Matrix Functions).............................................................87 Các ma trận rời rạc cơ sở (Elementary Sparse Matrices)...........................................87 Chuyển đổi giữa ma trận rời rạc và ma trận đầy đủ (Full to Sparse Conversion)...87 Làm việc với dữ liệu khác 0 của ma trận rời rạc (Working with Nonzero Entries of Sparse Matrices)................................................................................................................87 Hình ảnh ma trận rời rạc ...........................................................................................88 Thuật toán xắp xếp (Reordering Algorithms)............................................................88 Quy tắc, Số điều kiện, Thứ tự (Norm, Condition Number, and Rank).....................88 Phương thức rời rạc của các phương trình tuyến tính (Sparse Systems of Linear Equations).........................................................................................................................88 Giá trị duy nhất và giá trị riêng rời rạc (Sparse Eigenvalues and Singular Values)...88 Các hàm tạo âm thanh (Sound Processing Functions).....................................................89 Các hàm âm thanh chung (General Sound Functions).................................................89 Các hàm âm thanh chuyên dụng (SPARC station-Specific Sound Functions)............89 Hàm âm thanh với format wav (.WAV Sound Functions)...........................................89 Các hàm xâu ký tự (Character String Functions).............................................................89 Chung (General)...........................................................................................................89 Chuyển đổi giữa xâu và hàm (String to Function Handle Conversion)......................89 Thao tác với xâu (String Manipulation).......................................................................89 Chuyển đổi giữa xâu và số (String to Number Conversion)......................................90 Chuyển đổi cơ số (Radix Conversion).......................................................................90 Các hàm vào/ra file (File I/O Functions)..........................................................................90 File Opening and Closing.............................................................................................90 Dữ liệu ngôn ngữ máy (Unformatted I/O)..................................................................90 Dữ liệu đã format (Formatted I/O)..............................................................................90 Vị trí file (File Positioning)..........................................................................................90 Chuyển đổi xâu (String Conversion)...........................................................................90 Vào ra file chuyên dụng (Specialized File I/O)...........................................................91 Các hàm bitwise (Bitwise Functions)...............................................................................91 Các hàm cấu truc (Structure Functions)...........................................................................91
- 7 Các hàm đối tượng Matlab (MATLAB Object Functions0.............................................91 Giao diện Malab với Java (MATLAB Interface to Java)................................................91 Các hàm mảng tế bào (Cell Array Functions).................................................................92 Các hàm mảng nhiều chiều (Multidimensional Array Functions)..................................92 Đồ thị và hình ảnh dữ liệu (Plotting and Data Visualization)........................................92 Đồ thị và biểu đồ cơ bản (Basic Plots and Graphs)...................................................92 Vẽ đồ thị 3 chiều (Three-Dimensional Plotting)........................................................92 Đồ thị cắt lớp thể tích (Volumetric slice plot)............................................................93 Chú thích và đường lưới hệ trục đồ thị (Plot Annotation and Grids)........................93 Đồ thị bề mặt, lưới, đường đồng mức (Surface, Mesh, and Contour Plots).............93 Hình ảnh khối (Volume Visualization).......................................................................93 Thiết lập phạm vi (Domain Generation)....................................................................94 Điều khiển góc nhìn (View Control)...........................................................................95 Ánh sáng (Lighting).....................................................................................................95 Tính trong suốt (Transparency)....................................................................................95 Cách tạo màu (Color Operations)................................................................................96 Bản đồ màu (Colormaps)............................................................................................96 In ấn (Printing).............................................................................................................96 Kênh điều khiển chung và đồ họa (Handle Graphics, General).................................96 Làm việc với dữ liệu ứng dụng (Working with Application Data)...........................97 Tạo kênh điều khiển đối tượng và đồ họa (Handle Graphics, Object Creation)......97 Điều khiển cửa sổ hình ảnh và đồ họa......................................................................97 Điều khiển đồ họa và hệ trục....................................................................................97 Thao tác với đối tượng................................................................................................97 Tác động người sử dụng đưa vào (Interactive User Input)........................................98 Miền quan tâm (Region of Interest).............................................................................98 Giao diện đồ họa (raphical User Interfaces)...................................................................98 Hộp thoại (Dialog Boxes)............................................................................................98 Phát triển giao diện người sử dụng (User Interface Development)...........................98 Vào ra cổng nối tiếp (Serial Port I/O).............................................................................98 Tạo một đối tượng cổng nối tiếp..............................................................................98 Viết và đọc dữ liệu (Writing and Reading Data)........................................................98 Định hình và trả lại thuộc tính (Configuring and Returning Properties)....................99 Thay đổi trạng thái (State Change)..............................................................................99 Lệnh đa năng (General Purpose).................................................................................99
- 8 1. Cài đặt và giao diện của matlab 1.1. Cấu hình yêu cầu với Matlab 6.0, 6.5 Để có thông tin mới nhất về yêu cầu của hệ thống chúng ta có thể vào MathWorks Web site (www.mathworks.com), system requirements page. Matlab là một phần mềm có yêu cầu khá cao với hệ thống máy tính, để chạy phần mềm này máy tính cần đảm bảo những yếu tố tối thiểu sau: Bộ xử lý: Pentium, Pentium Pro, Pentium II, Pentium III, Pentium IV, or AMD Athlon Hệ điều hành: Microsoft Windows 95, Windows 98 (original and Second Edition), Windows NT 4.0 (with Service Pack 5 for Y2K compliancy) or Windows 2000 Ổ CD-ROM để cài đặt. Tối thiểu 64 MB RAM đối với Windows 98, NT 4.0 và 2000; nên có 128 MB RAM. Đối với Window XP nên có 256 MB RAM Không gian ổ cứng đòi hỏi tùy thuộc kích thước partition và lựa chọn của bạn. Cài đặt đầy đủ các lựa chọn phần mềm Matlab 6.5 chiếm khoảng 900 MB ổ cứng Card hình tối thiểu 8 bit và màn hình hiển thị tối thiểu 256 màu Những phần bổ trợ nên có Card tăng tốc độ đồ họa Printer Microsoft Word 7.0 (Office 95), 8.0 (Office 97), or Office 2000 is required to run the MATLAB Notebook. Để tạo các MEX-files của riêng bạn cần có:
- 9 Compaq Visual Fortran 5.0 or 6.1, Microsoft Visual C/C++ version 5.0 or 6.0, Borland C/C++ version 5.0, 5.02, Borland C++Builder version 3.0, 4.0, or 5.0, Lcc 2.4 (bundled with MATLAB) Adobe Acrobat Reader để in các tài liệu do Matlab cung cấp trên mạng. 1.2. Cài đặt phần mềm 1.3. Giao diện Sau khi cài đặt Matlab lần đầu tiên chạy chương trình, phần mền hiển thị giao diện mặc định như hình 1. (Desktop layout default) Trên của sổ chính có tiêu đề MATLAB chứa 3 cử sổ nhỏ ở trạng thái gắn dính (dock) với cửa sổ chính. Nếu chúng ta muốn di chuyển tự do các cửa sổ này chúng bấm vào nút trên thanh tiêu đề các cửa sổ Hình 1: Giao diện mặc định của Matlab nhỏ hoặc bấm giữ chuột trái vào thanh tiêu đề và kéo thả. Khi các cửa sổ tự do chúng có thêm thanh menu (hình 2) để các cửa sổ trở về trạng thái như cũ chúng ta vào ViewDock (Workspace hoặc current directory...). Matlab có 6 kiểu giao diện khác nhau: Default, Command Window Only, Single, Short History, Tail History, Five Panel (Hinh 3). Hình 2: Cửa sổ workspace tự do Hình 3: Các kiểu giao diện của Matlab
- 10 2. Những khái niệm cơ sở 2.1. Các phím tắt ↑ hoặc Ctrl+p Gọi lại lệnh vừa thực hiện trước đó ESC hoặc ↓ Xóa lệnh vừa gọi → hoặc Ctrl+f Chuyển con trỏ sang phải một ký tự ← hoặc Ctrl+b Chuyển con trỏ sang trái một ký tự Ctrl+l hoặc Ctrl+← Chuyển con trỏ sang trái một từ Ctrl+r hoặc Ctrl+→ Chuyển con trỏ sang phải một từ Ctrl+a hoặc Home Chuyển con trỏ về đầu dòng Ctrl+k Xóa từ vị trí con trỏ đến cuối dòng Ctrl+break Kết thúc vòng lặp Shift+→ hoặc ← Để chọn đoạn văn bản cần xóa hay copy Lệnh hệ thống clc Xóa cửa sổ dòng lệnh clf Xóa cửa sổ đồ họa computer Đưa ra tên loại máy tính Ctr-c Dừng chương trình khi máy ở tình trạng vòng lặp không kết thúc demo Xem các chương trình mô tả khả năng của matlab exit, quit Thoát Matlab help Lệnh nhận trợ giúp input Nhập dữ liệu từ bàn phím load Tải các biến đã lưu trong 1 file vào không gian làm việc Pause Tạm ngừng chương trình save Lưu giữ không gian làm việc 2.2. Lập trình với Matlab Matlab là phần mềm hỗ trợ tính toán và hiển thị mạnh với các bộ lệnh thuộc nhiều lĩnh vực: toán học, công nghệ thông tin, công nghệ hóa học, thống kê kế toán, kinh tế...và không ngừng được cập nhật. Matlab giải quyết các vấn đề toán học từ đơn giản tới phức tạp nhất. Sau khi khởi động chương trình trong cửa sổ chính gồm 3cửa sổ nhỏ: Workspace, Command History, Command Window. * Các phép tính thông dụng và các ký hiệu trong Matlab Ký Phép tính Ví dụ hiệu + Cộng 2+3
- 11 - Trừ 23-56 * Nhân số, ma trận 12*67 ^ Lũy thừa 2^2=4 \ Chia ngược 45\23=0,5111 / Chia thuận 23/45=0,5111 : Dấu hai chấm ( ) [ ] {} Các dấu ngoặc sử dụng trong phép toán . Chấm thập phân ... Sự tiếp tục , Dấu phẩy ; Chấm phẩy % Viết chú thích sau dấu % ! Chấm than ' Chuyển vị và nháy đơn .' Chuyển vị liên hợp = Chuyển đổi == Dấu bằng < Toán tử quan hệ nhỏ hơn > Lớn hơn >= lớn hơn hoặc bằng > VD1: Tính trung bình các bình phương của: 12, 17, 23 Tại Command Window ta viết các lệnh như sau: >> a=12 Hình 4 a= 12 >> b=17 b= 17 >> c=23 c= Hình 5
- 12 23 >> kq=(a^2+b^2+c^2)/3 kq = 320.6667 >> Tại cửa sổ Workspace và Commad History ta thu được kết quả như Hình 4 và Hình 5 Cửa sổ Workspace được gọi là không gian làm việc của Matlab, nó chứa các biến đang sử dụng (a, b, c, kq). Cửa sổ history ghi lại toàn bộ quá trình thao tác của chúng ta. 2.2.1. Biến trong matlab * Các phiên bản trước 6.5 các biến, tên hàm và hàm con, tên trường cấu trúc (structure field), M-file, MEX-file và MDL-file giới hạn 31 ký tự. Từ phiên bản Matlab 6.5 các tên này có tối đa 63 ký tự. Chúng ta có thể kiểm tra bằng hàm: >>namelengthmax ans = 63 Nếu chúng ta đặt biến lớn hơn 63 ký tự Malab tự động bỏ các ký tự từ 64 trở đi. * Các quy định trong đặt tên biến Quy định Ví dụ Tên biến phân biệt chữ hoa và chữ X, x là hai biến khác nhau thường Tên biến phải bắt đầu là chữ sau đó có a23_er4 đúng thể là số hoặc gạch dưới và không sử 1233smds sai dụng các ký tự đặc biệt khác a#sf23 sai Tên biến phải viết liên tục Qwer12 đúng qwqe 45dr sai * Ngoài các biến trong quá trình quá trình lập trình chúng ta đưa vào, Matlab còn có các biến đặc biệt. Nếu chúng ta đặt tên biến trùng với biến đặc biệt thì khi Matlab sử dụng đến biến đó giá trị biến của chúng ta sẽ bị thay đổi hoặc giá trị của biến đặc biệt không được sử dụng, tới khi chúng ta xóa biến do chúng ta đặt trùng. Tên biến đặc biệt Giá trị ans Kết quả phép toán eps Chỉ độ chính xác của các phép tính toán (2.2204e-016 đơn vị) flops Số của phép toán số thực i và j i = j = (-1)^(1/2) inf Để chỉ số vô cùng lớn (a/0, a khác 0) NaN hoặc nan Chỉ số không xác định (0/0) nargin Số các đối số được đưa vào hàm đang sử dụng narout Số các đối số hàm đưa ra pi 3.1416 realmax Số lớn nhất của số thực (1.7977e+308)
- 13 realmin Số nhỏ nhất của số thực (2.2251e-308) Các lệnh đối với các biến trong workspace clear, clear variables, Xóa toàn bộ biến trong không gian làm việc clear global Xóa biến toàn bộ clear functions xóa các M-, MEX- function clear biến Xóa từng biến riêng biệt clear biến1 biến2 biến3... Xóa các biến chọn clear all Xóa tất cả các biến, hàm, liên kết MEX.... who Hiển thị các biến định trong workspace whos Hiển thị các biến cùng các thông tin kích thước, số byte, kiểu mảng exist (‘a’) Kiểm tra xem ‘a’ là biến được định nghĩa hay hàm được định nghĩa, cho kết quả từ 0-8. Để có thêm thông tin chúng ta thực hiện lệnh: >> help clear >> help who 2.2.2. Nhập dữ liệu Để nhập giữ liệu cho một chương trình chúng ta có thể nhập trực tiếp trong quá trình viết chương trình. Tuy nhiên, điều đó có thể gây khó khăn trong lưu trữ và quản lý dữ liệu. Matlab cho phép nhập dữ liệu từ một file văn bản format dạng *.txt. Matlab quản lý và xử lý dữ liệu dạng ma trận. Khi dùng phần mềm notepad, wordpad, ... để lập file dữ liệu chúng ta chú ý giữa các số của cột cách nhau ít nhất 1 dấu cách (chúng ta cũng có thể thay bằng dấu ‘,’ hoặc Tab hoặc theo kiểu tự chọn, dùng enter để phân cách giữa các hàng. Ví dụ chúng ta vào File Import data và nhập file dữ liệu 5bien.txt được soạn thảo như sau: abcde 12 23 234 34 345 23 23 34 23 12 23 123 234 234 23 Matlab xắp xếp lại như hình 6
- 14 Hình 6 Trên Hình 6 chúng ta chọn next từ đó có hai cách đặt biến cho dữ liệu Dạng 1: có 3 biến, biến data là ma trận 5x5 và 2 biến còn lại là textdata = [a b c d e]và colheaders=[a b c d e] dạng matran hàng 1x5. Dạng 2: có 5 biến cột a=[12;23;12;123;23], b=[23;23;23;234;0], c=[234;34;0;234;0], d=[34;24;0;0;0], e=[345;0;0;0;0] dạng ma trận cột 5x1 2.2.3. Làm việc với workspace Nhấp chuột phải vào 1 biến trong workspace ta nhận được menu như hình 7 Hình 7 * Open... dùng để biết và thay đổi các thuộc tính của biến Ví dụ biến data khi mở ta có các thuộc tính sau Biến data là một ma trận 5 hàng năm cột ta có thể thay đổi số hàng (ô size), số cột (ô by) và thay đổi giá trị các số trong ma trận. Kiểu format các số trong ma trận trên dạng shotG, chúng ta sẽ tìm hiểu các dạng format số trong phần sau. * Trong mục Graph là các dạng biểu diễn đồ thị 2D, 3D, ... của biến data.
- 15 * Import data... mở thêm các biến lưu trong file dữ liệu *.mat. Chúng ta lưu ý các biến mới mở cùng tên sẽ ghi đè lên các biến hiện thời trong cửa sổ workspace. * Workspace có thể được save lại dưới dạng file *.mat của 1 số biến lựa chọn hoặc tất cả các biến trong workspace. Khi cần sử dụng, từ menu của workspace chúng ta chọn import data... và mở lại file này. 2.2.4. Làm việc với command history Cửa sổ command history lưu trữ các lệnh được thực hiện ở command window. Để thực hiện lại một lệnh hay nhóm lệnh trước đó chúng ta có thể kéo thả 1 lệnh hay một nhóm lệnh từ command history vào trong command window. Chúng ta cũng có thể kéo 1 lệnh hay một nhóm lệnh trong command window vào dòng lệnh hiện thời để thực hiện lại các lệnh đó. Từ command history nếu một nhóm lệnh nào đó phải sử dụng nhiều lần chúng ta có thể save chúng dưới dạng M-file (Create M-File). Khi cần thực hiện lại nhóm lệnh này chúng ta chỉ việc đánh tên M-file và dấu nhắc lệnh và bấm enter. Giả sử trong trong command window chúng ta Hình 8 thực hiện các lệnh >> a=1:10 a= Columns 1 through 10 1 2 3 4 5 6 7 8 9 10 >> a(1)=[ ] a= Columns 1 through 9 2 3 4 5 6 7 8 9 10 >> a(3)=[ ] a= Columns 1 Column 8 2 3 5 6 7 8 9 10 >> b=a*3+5 b= Columns 1 through 8 11 14 20 23 26 29 32 35 Khi đó trong cửa sổ command history các lệnh được lưu như sau a=1:10 a(1)=[ ] a(3)=[ ] b=a*3+5 Khi 4 lệnh này được save thành M-File có tên là “nhomlenh.m”, để thực hiện lại 4 lệnh này ta chỉ việc đánh lệnh:
- 16 >>nhomlenh a= Columns 1 through 10 1 2 3 4 5 6 7 8 9 10 >> a(1)=[ ] a= Columns 1 through 9 2 3 4 5 6 7 8 9 10 >> a(3)=[ ] a= Columns 1 Column 8 2 3 5 6 7 8 9 10 >> b=a*3+5 b= Columns 1 through 8 11 14 20 23 26 29 32 35 Như vậy chúng ta có thể sử dụng M-File như một chương trình con hay hàm con, M- file phải có phần mở rộng là “m”. Matlab đưa vào một số hàm ứng dụng trong M-File để có giao tiếp tốt hơn với người lập trình: Hàm Chức năng disp (ans) Hiển thị các kết quả mà không hiển thị tên biến echo on, echo off, echo file on, Điều khiển cửa sổ lệnh lặp lại các lệnh của echo file off, echo on all, echo off all M-File Input M-File nhận dữ liệu từ bàn phím Keyboard Trao quyền điều khiển tạm thời cho bàn phím >>return dừng lệnh keaboard, M-File tiếp tục chạy các lệnh Pause Dừng chương trình tới khi phím bất kỳ được bấm pause(n) Dừng n giây waitforbuttonpress Dừng tới khi phím chuột hoặc bàn phím được bấm Hình 9
- 17 2.2.5. Làm việc với current directory, quản lý tệp Current directory là nơi lưu trữ các file dữ liệu và M-File mà Malab xử dụng như địa chỉ đầu tiên khi tìm kiếm các M-File trong các thư mục có trong đường dẫn của Matlab. Bấm chuột phải ta được menu như hình 9, với M-File ta có thể chọn Open để mở, sửa chữa, với các file *.mat khi ta chọn open các biến của file được đưa vào không gian làm việc hiện thời của Matlab. Trong quá trình làm việc các file dữ liệu của chúng ta có thể nằm ở thư mục bất kỳ để đưa về Current directory chúng ta bấm vào nút để chọn thư mục chứa file cần sử dụng. Một chú ý đó là khi chúng ta sử dụng một hàm, thủ tục tự tạo dạng M-File như một lệnh trong command history Matlab chỉ tìm kiếm file chứa lệnh trong đường dẫn đã được đặt sẵn. Vì vậy, file của chúng ta có thể đang tồn tại nhưng Matlab không nhận ra nếu như nó không nằm trong đường dẫn đã đặt. Để đặt đường dẫn cho thư mục chứa file cần sử dụng, chúng ta vào file Set Path... Matlab sẽ hiển thị cửa sổ Set Part (Hình 10) trong đó hiển thị đầy đủ các folder đã được đặt đường dẫn. Chúng ta chọn Add Folder..., sau đó chọn folder chứa các file cần sử dụng rồi chọn Save Close. Hình 10 Bài tập: 1. Viết bảng dữ liệu sau dưới dạng file *.txt Nguyelieu Sanpham Thơigianluu A(mol/L) (Amol/L) (s) 2.00 0.65 300 2.00 0.92 240 2.00 1.00 250 1.00 0.56 110 1.00 0.37 360 0.48 0.42 24 0.48 0.28 200 0.48 0.20 560 a) Nhập dữ liệu theo hai dạng, 8x3 và 3 vec tơ cột, lưu giá trị các biến. b) Tính tổng theo hàng theo cột. c) Lưu các lệnh dưới dạng M-file và thực lại các tính toán theo mục b. 2. Viết M-file tính cho phép nhập mảng 1 chiều x để tính các giá trị y= a*x^3+b*x^2+c*x+d với điều kiện a,b,c,d,x nhập từ bàn phím. Đặt tên M-file là tgtrb3
- 18 3. Cut trtrb3 tử thư mục work trong matlab ra ngoài ổ C và đặt đường dẫn cho matlab truy cập tới địa chỉ đó. 3. Các dạng hiển thị số và các hàm toán học thông dụng 3.1. Các dạng hiển thị số Trước hết chúng ta xét một số vô hạn không tuần hoàn 2^(1/2), theo mặc định Matlab hiển thị dạng shortG: a=2^(1/2) a=1.4142 Để hiển thị giá trị của a Matlab có một số khuôn dạng sau: Định Lệnh Hiển thị a Hiển thị số 3-2i dạng short format short 1.4142 3.0000 - 2.0000i shortG format short g 1.4142 3 - 2i shortE format short e 1.4142e+000 3.0000e+000 -2.0000e+000i long format long 1.41421319796954 3.00000000000000 - 2.00000000000000i longG format long g 1.41421319796954 3 - 2i longE format long e 1.414213197969543e+000 3.000000000000000e+000 -2.000000000000000e+000i hex format hex 3ff6a09e04ad9cb8 4008000000000000 c000000000000000i bank format bank 1.41 3.00 + format + + + rational format 1393/985 3 - 2i rational Chúng ta phải hiểu rằng Matlab luôn tính toán với cấp độ chính xác nhất có thể, khi biến a hiển thị dạng shortG: a=2^(1/2)= 1.4142 không có nghĩa là giá trị của a dừng lại ở 4 số sau dấu phẩy, theo ngầm định matlab tính toán với hàng trăm số sau dấu phẩy của a. Để thay đổi dạng hiển thị số mặc định chúng ta vào File Preferences... Array Editor sau đó lựa chọn dạng format phù hợp. Ngoài ra Preferences là mục cho phép chúng ta thay đổi nhiều giao diện giữa người lập trình và phần mềm. 3.2. Số phức Malab có hai biến đặc biệt đó là i=j= − 1 dùng cho phần ảo của số thực, vai trò của i và j là tương tự nhau. Ưu điểm đặc biệt của Matlab đó là tính toán với số phức tương tự như số thực. Trong toán học số phức có thể biểu diễn dưới dạng sau:
- 19 A,θ=A.eiθ=a+bi Trong đó A,θ và A.eiθ là các dạng biểu diễn ở tọa độ cực. A= a + b , θ = arc[tan(b/a)], a=A cosθ, b=A sinθ 2 2 * Các lệnh chuyển hệ trục tọa >> c=3-2i c= 3.0000 - 2.0000i Lệnh Kết quả Ý nghĩa real(c) 3 Xác định phần thực imag(c) -2 Xác định phần ảo abs(c) 3.6056 Tính argument angle(c) -0.5880 Tính góc số phức theo radian conj(c) 3.0000 + 2.0000i Số phức liên hợp 3.3. Các hàm toán học thông dụng acos(x) Hàm ngược của hàm cosin acosh(x) Hàm ngược của hàm hypecbolcosin asin(x) Hàm ngược của hàm sin asinh(x) Hàm ngược của hàm hypecbolsin atan(x) Hàm ngược của hàm tang atan2(x,y) Hàm ngược tang của thương số phần thực x chia cho phần thực y atanh(x) Hàm ngược của hàm hypepoltang cos(x), sin(x), tan(x), cosh(x), sinh(x), tanh(x) log(x) Logarit tự nhiên log10(x) Logarit cơ số 10 exp(x) e^x sqrt(x) Căn bậc 2 của x fix(x) Xấp xỉ 0 ceil(x) Xấp xỉ dương vô cùng floor(x) Xấp xỉ âm vô cùng gdc(x,y) Ước số chung lớn nhất của 2 số nguyên x,y lcm(x,y) Bội số chung nhỏ nhất của hai số nguyên x,y rem(x,y) Phần dư của phép chia x cho y round(x) Phần nguyên của x sign(x) Trả về dấu của x Bài tập 1. Nhập dữ liệu từ file *.txt có nội dung như bảng sau:
- 20 a. Tính các giá trị: 1000 − C A 1 xA = a = 2 ln − xA 1000 + C A 1− X A V CA b) Viết M-file chuyển mảng v và CA thành 1 mảng số phức ‘c’ với các phần tử cột v là phần thực, các phần tử tương ứng phần CA là phần ảo 1,5 10 c) Thực hiện các lệnh real(c) imag(c) 2,5 50 abs(c) angle(c) 4,0 100 6,5 200 4. Quản lý ma trận dữ liệu Matlab làm việc với các đại lượng vô hướng, vectơ, và ma 20 500 trận. Đại lượng vô hướng chỉ đơn giản là ma trận 1x1, và vectơ chính là ma trận 1 cột hoặc 1 dòng. Tất cả các dạng dữ liệu này Matlab kiểm soát dưới dạng ma trận. Phần này sẽ giới thiệu các thao tác và các hàm cơ bản với ma trận. 4.1. Ma trận 1 chiều 4.1.1. Ma trận hàng Để tìm hiểu cách thiết lập và xử lý dữ liệu ma trận 1 chiều chúng ta xét ví dụ: VD2: Trong quá trình phân tích Amoni theo phương pháp quang học chúng ta thu được dữ liệu về đường chuẩn như sau: Nồng độ (ppm) 0.4 0.8 1.2 1.6 2 Độ hấp thụ 0.125 0.220 0.309 0.399 0.497 Hãy vẽ đồ thị. Chúng ta cần 2 biến dưới dạng 2 ma trận hàng để quản lý dữ liệu của nồng độ và độ hấp thụ. Dữ liệu nồng độ là dữ liệu có quy luật do đó chúng ta sử dụng lệnh sau: >>nd=linspace(0.4,2,5) nd = 0.4000 0.8000 1.2000 1.6000 2.0000 >>ht=[0.125 0.220 0.309 0.399 0.497] ht = 0.1250 0.2200 0.3090 0.3990 0.4970 >>plot(ht,nd) >>xlabel(‘do hap thu’) >>ylabel(‘nong do’)
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn