1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps

98 1,1K 6
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề MATLAB Ứng Dụng Cho Ngành Hóa Học Và Công Nghệ Hóa Học
Trường học Trường Đại Học Khoa Học Tự Nhiên - Đại Học Quốc Gia Hà Nội
Chuyên ngành Hóa Học
Thể loại Ứng dụng/Phương pháp
Năm xuất bản 2003
Thành phố Hà Nội
Định dạng
Số trang 98
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các phép toán trong ma tr nậ ..... Gi i các phả ương trình tượng tr ngư .... 81 Các hàm vector Vector Functions .... 83 Các phương trình tuy n tính Linear Equationsế ..... 89 Các hàm âm

Trang 1

TR ƯỜ NG Đ I H C KHOA H C T NHIÊN Ạ Ọ Ọ Ự

KHOA HÓA HỌC

Trang 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

Trang 3

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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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:ề ầ ả ả ữ ế ố ố ể

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ó:ể ạ ủ ạ ầ

Trang 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.ể ệ ấ ạ

nút trên thanh tiêu đ các c a sề ử ổ

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 Viewử ổ ở ề ạ ư Dock (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 1: Giao di n m c đ nh c a Matlabệ ặ ị ủ

Hình 2: C a s ử ổ workspace t ự

do

Hình 3: Các ki u giao di n c a ể ệ ủMatlab

Trang 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ể ỏ ề ầ

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ả ả ủ

Trang 11

xor Phép toán logic ho c tuy t đ iặ ệ ố xor(0,4)=1, xor(4,4)=0,

Trang 12

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:ố ự ể ể ằ

Tên bi n phân bi t ch hoa và chế ệ ữ ữ

Tên bi n ph i b t đ u là ch sau đó cóế ả ắ ầ ữ

th là s ho c g ch dể ố ặ ạ ưới và không sử

d ng các ký t đ c bi t khácụ ự ặ ệ

a23_er4 đúng1233smds 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.ớ ế ặ

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ố ố ố ư

realmax S l n nh t c a s th c (1.7977e+308)ố ớ ấ ủ ố ự

Trang 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ử ữ ệ ạ ậ ầ ề ể ậ

Trang 14

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ư

* 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.ụ ạ ể ễ ồ ị ủ ế

Hình 6

Hình 7

Trang 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ạ ệ ỉ ệ

Trang 16

echo file off, echo on all, echo off all

Đi u khi n c a s l nh l p l i các l nh c aề ể ử ổ ệ ặ ạ ệ ủ M-File

Trang 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 đã đượ đ t đc ặ ườ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

Bài t p:ậ

1 Vi t b ng d li u sau dế ả ữ ệ ướ ại d ng file *.txt

Nguyelieu A(mol/L) (Amol/L)Sanpham Th igianluuơ

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

Hình 10

Trang 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 đó.ậ ớ ị ỉ

short format short 1.4142 3.0000 - 2.0000i

shortE format short e 1.4142e+000 3.0000e+000 -2.0000e+000ilong format long 1.41421319796954 3.00000000000000 -

2.00000000000000ilongG format long g 1.41421319796954 3 - 2i

longE format long e 1.414213197969543e+000 3.000000000000000e+000

-2.000000000000000e+000ihex format hex 3ff6a09e04ad9cb8 4008000000000000

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:

Trang 19

Trong đó A,θ và A.eiθlà các d ng bi u di n t a đ c c.ạ ể ễ ở ọ ộ ự

A= a2 +b2 , θ = arc[tan(b/a)], a=A cosθ, b=A sinθ

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 ọ ụ

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ầ ự

cos(x), sin(x), tan(x), cosh(x), sinh(x),

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,yrem(x,y) Ph n dầ ư c a phép chia x cho yủ

Trang 20

a Tính các giá tr :ị

A

A A

C1000

C1000

1ln2

Matlab làm vi c v i các đ i lệ ớ ạ ượng vô hướng, vect , và maơ

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ơ ậ ộ ặ ấ ả ạ ữ ệ ể

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:ẩ ư

Trang 21

linspace là câu l nh t o ma tr n hàng cú pháp nh sau ệ ạ ậ ư linspace(a,b,c) trong đó a là giá

tr đ u, b là giá tr cu i và c là s giá tr n m trong đo n ị ầ ị ố ố ị ằ ạ [a, b]

D li u v đ h p th không có quy lu t do đó chúng ta ph i nh p t ng giá tr , khiữ ệ ề ộ ấ ụ ậ ả ậ ừ ịchúng ta nh p d li u ph i chú ý gi a các giá tr ph i cách nhau m t d u cách ho c d uậ ữ ệ ả ữ ị ả ộ ấ ặ ấ

‘,’, các giá tr ph i n m trong d u ngo c vuông [ ]:ị ả ằ ấ ặ

Ngoài 2 cách t o ma tr n hàng nh trên chúng ta có th t o các cách sau:ạ ậ ư ể ạ

Trang 22

100

1000

Chúng ta có hai phép toán chuy n v là (ể ị ’) và (.’) hai phép chuy n v này ch khác nhauể ị ỉkhi d li u là s ph c Toán t (.’) ch đ n gi n là chuy n v ma tr n, còn toán t (‘)ữ ệ ố ứ ử ỉ ơ ả ể ị ậ ửchuy n c các s ph c trong ma tr n ngu n thành s ph c liên h p:ể ả ố ứ ậ ồ ố ứ ợ

Trang 23

./ and \ Chia ma tr n theo t ng v trí tậ ừ ị ương ng hai ma tr nứ ậ

' Chuy n v chuy n liên h pể ị ể ợ

.' Chuy n v không chuy n liên h pể ị ể ợ

Đ hi u rõ h n gi a phép toán s d ng d u (.) và không s d ng ta hãy xét ví d sauể ể ơ ữ ử ụ ấ ử ụ ụ

Trang 24

Các phép toán s d ng d u ‘.’ th c hi n trên các v trí tử ụ ấ ự ệ ị ương ng c a hai ma tr nứ ủ ậ h(i,j)=n(i,j)*g(i,j) trong đó i ch v trí hàng, j ch v trí c t.ỉ ị ỉ ị ộ

Các phép toán không s d ng d u ‘.’ tuân theo quy đ nh toán h c v đ nh th c maử ụ ấ ị ọ ề ị ứ

*x)n(i,j)

Trang 25

Chúng ta có quy đ nh chung v đ a ch c a ma tr n nh sau: ị ề ị ỉ ủ ậ ư

h(m) Ch ph n t th m trong ma tr n h theo cách đ m liên ti p t trên xu ngỉ ầ ử ứ ậ ế ế ừ ố

dướ ừi, t trái qua ph iả

ph n t trong ma tr n g Malab tìm ki m trong ma tr n h n u cóầ ử ậ ế ậ ế

ph n t có giá tr b ng thì tr k t qu 1, n u không có thì tr giáầ ử ị ằ ả ế ả ế ả

tr 0.ịintersect(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t b ng nhau đả ế ả ậ ộ ầ ử ằ ược s pắ

x p t nh đ n l nế ừ ỏ ế ớsetdiff(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t có trong g mà không cóả ế ả ậ ộ ầ ử

trong h, x p x p t nh đ n l n ắ ế ừ ỏ ế ớsetxor(g(:),h(:)) Tr k t qu là ma tr n c t các ph n t không ph i là ph n tả ế ả ậ ộ ầ ử ả ầ ử

chung c a g và h ủunion(g(:),h(:)) Tr k t qu là ma tr n c t t t c các ph n t có trong g ho c hả ế ả ậ ộ ấ ả ầ ử ặsize(g) Tr k t qu là ma tr n hàng v i hai d li u là s hàng và sả ế ả ậ ớ ữ ệ ố ố

c t ma tr n gộ ậsize(g,1) Tr k t qu là s hangả ế ả ố

Trang 27

2 Theo dõi nhi t đ t i các v trí khác nhau c a m t thùng ph n ng tĩnh thu đệ ộ ạ ị ủ ộ ả ứ ượ c

Trang 28

Column 27

78

>> char(b)

ans =

Khoa Hoa hoc, truong DHKHTN

Các hàm double và abs chuy n v d ng s c a các ký t hàm char là hàm ngể ề ạ ố ủ ự ượ ạ c l ichuy n s v d ng ký t , hàm size cho bi t s ký t trong xâu Chúng ta cũng có thể ố ề ạ ự ế ố ự ể trích d n đo n văn b n trong xâu theo chi u thu n hay ngh ch.ẫ ạ ả ề ậ ị

Các l nh trên chúng ta th y r ng khi hi n th d li u luôn có tên bi n đi cùng ví d ‘cệ ấ ằ ể ị ữ ệ ế ụ

=’ Khi mu u hi n th xâu văn b n mà không hi n th bi n chúng ta dùng hàm disp.ố ể ị ả ể ị ế

>>disp(c)

coh aoH

Trong qúa trình làm 1 bài toán chúng ta c n vi t d li u d ng s vào trong xâu vănầ ế ữ ệ ạ ố

b n khi đó chúng ta ph i chuy n đ i d li u d ng s sang xâu, ta dùng l nh num2str.ả ả ể ổ ữ ệ ạ ố ệ

Trang 29

7 Qu n lý th i gian ả ờ

Matlab l y m c th i gian là năm 0 theo dấ ố ờ ương l ch t đó tính th i gian nh trên tr cị ừ ờ ư ụ

s trố ước năm không các năm mang d u âm sau năm 0 các năm mang d u dấ ấ ương Đ n vơ ị

th i gian s d ng trong Matlab là ngày, chờ ử ụ ương trình không qu n lý th i gian theo ngàyả ờtháng năm mà theo các con s ví d ngày 19 tháng 07 năm 2003 ng v i con s 732135ố ụ ứ ớ ốngày (tính t ngày d u tiên c a năm 0) S tính ngày c a Matlab chính xác hàng trăm sừ ầ ủ ố ủ ố sau d u ph y, đ chính xác đ n giây chúng ta c n l y t i thi u năm s sau d u ph y.ấ ẩ ể ế ầ ấ ố ể ố ấ ẩ

7.1 Các hàm th i gian ờ

calendar L chị

clock Hi n th th i gian hi n t i dể ị ờ ệ ạ ướ ại d ng vector (number)

cputime Th i gian Matlab đang ho t đ ng (giây)ờ ạ ộ

date Ngày hi n th i, hi n th d ng xâu (Text)ệ ờ ể ị ạ

datenum Tính s ngàyố

datestr Hi n th ngày d ng xâu v i nhi u ki u m c đ nh khác nhauể ị ạ ớ ề ể ặ ị

datevec Chuy n xâu ký t d ng ngày sang d li u d ng ma tr n 1 chi uể ự ạ ữ ệ ạ ậ ề

>> clock % hi n th th i gian lúc th c hi n l nh dể ị ờ ự ệ ệ ướ ại d ng ma tr n hàng ậ

%(năm, tháng, ngày, gi , phút, giây) các ph n t format d ng sờ ầ ử ạ ốans =

Columns 1 through 3

2003 7 19

Columns 4 through 6

17 0 44.023

Trang 31

ans b ng t ng s ngày t ngày đ u tiên c a năm 0 t i ngày 19 tháng 7 năm 2003ằ ổ ố ừ ầ ủ ớ

* Hàm etime tính kho ng th i gian gi a hai th i đi m (tính b ng giây), hai th i đi mả ờ ữ ờ ể ằ ờ ể này ph i bi u di n dả ể ễ ướ ại d ng vect g m 6 ph n t d ng s (năm, tháng, ngày, gi , phútơ ồ ầ ử ạ ố ờ, giây)

Trang 32

for n= ma tr nậ % d li u d ng ma tr n, đữ ệ ạ ậ ược hi u dể ướ ại d ng vect hàng có ơ

Do n thu c d ng ma tr n d li u s nên ta có th kh i t o n gi ng nh kh i t o maộ ạ ậ ữ ệ ố ể ở ạ ố ư ở ạ

tr n ví d nh n=1:10, n=10,-1,1 ậ ụ ư

8.2 Vòng l p while ặ

Khác v i vòng l p for vòng l p ớ ặ ặ while th c hi n s vòng l p không xác đ nh t i khiự ệ ố ặ ị ớ

bi u th c đi u ki n b vi ph m thì d ng l i Cú pháp vòng l p ể ứ ề ệ ị ạ ừ ạ ặ while nh sau:ư

Trang 33

C u trúc này đấ ược áp d ng khi chúng ta mu n m t nhóm l nh đụ ố ộ ệ ược th c hi n ch khiự ệ ỉ

m t đi u ki n nào đó độ ề ệ ược th a mãn.ỏ

>>switch bi u th c đi u ki nể ứ ề ệ

case ki m tra đ c tính 1ể ặ

nhóm l nhệ

case ki m tra đ c tính 1ể ặ

Trang 34

2 Tìm các s nguyên t t 1 t i 1000 (có th áp d ng hàm factor, size, câu l nh for)ố ố ừ ớ ể ụ ệ

9 Phân tích d li u và các hàm chuy n đ i Fourier ữ ệ ể ổ

Matlab qu n lý d li u d ng ma tr n nên chúng ta d dàng x lý, truy xu t t ng dả ữ ệ ạ ậ ễ ử ấ ừ ữ

li u riêng l cũng nh theo các hàng hay theo các c t.ệ ẻ ư ộ

Ví d : K t qu thí nghi m v i các h ph n ng lo i b nit trong nụ ế ả ệ ớ ệ ả ứ ạ ỏ ơ ước th i rácả

b ng 1 lo i c , đánh giá b ng kh i lằ ạ ỏ ằ ố ượng nit (kg) và s chuy n hóa gi a các d ng Dơ ự ể ữ ạ ữ

li u đệ ược ghi trong file kqtnito.txt nh sau ư

Thietbi Bandau Cuoicung NH3_N NO2_N NO3_N

Trang 36

>> xlabel('thu tu thiet bi')

>> ylabel('khoi luong nito (kg)')

Trang 37

Phép toán c b n (Basic Operations) ơ ả

cumprod cumprod(b,n), n=1 tích lũy theo c t, n=2 tích lũy theo hàng ộ

cumsum T ng tích lũyổ

cumtrapz T ng tích lũy c a giá tr trung bình 2 s liên ti p (n=1 tính theo c t, n=2ổ ủ ị ố ế ộ

tính theo hàng)

factor Tách s thành các th a s nguyên tố ừ ố ố

inpolygon Tìm các đi m trong vùng đa giácể

max Xác đ nh giá tr l n nh t theo 1 chi uị ị ớ ấ ề

mean Xác đ nh giá tr trung bình theo 1 chi uị ị ề

median Giá tr trung gian trong m ngị ả

min Xác đ nh giá tr nh nh t theo 1 chi uị ị ỏ ấ ề

perms T t c kh năng có th x y ra c a phép hoán v 1 t p sấ ả ả ể ả ủ ị ậ ố

polyarea Di n tích c a đa giácệ ủ

primes T o ra danh sách các s nguyên tạ ố ố

prod Tích s 1 chi u các ph n t trong ma tr nố ế ầ ử ậ

sort X p các ph n t theo chi u tăng d nế ầ ử ề ầ

sortrows X p các dòng theo chi u tăng d nế ề ầ

std Đ l ch chu nộ ệ ẩ

sum T ng các ph n t theo 1 chi u ma tr nổ ầ ử ề ậ

trapz Hàng hay c t cu i cùng c a l nh cumtrapzộ ố ủ ệ

var S thay đ iự ổ

Sai phân h u h n (Finite Differences) ữ ạ

del2 Toán t r i r c Laplacianử ờ ạ

diff Tính đ chênh l ch gi a các ph n t và đ o hàm g n đúngộ ệ ữ ầ ử ạ ầ

gradient Gradient vi phân

Bi n đ i Fourier (FourierTransforms) ế ổ

Trang 38

abs Giá tr tuy t đ i và agument s ph cị ệ ố ố ứ

angle Góc pha

cplxpair X p x p các s ph c thành các c p liên h p ph cắ ế ố ứ ặ ợ ứ

fft Bi n đ i Fourier r i r c 1 chi uế ổ ờ ạ ề

fft2 Bi n đ i Fourier r i r c 2 chi uế ổ ờ ạ ề

fftshift Shift DC component of fast Fourier transform to center of spectrum

ifft Bi n đ i Fourier r i r c ngế ổ ờ ạ ược 1 chi uề

ifft2 Bi n đ i Fourier r i r c ngế ổ ờ ạ ược 2 chi uề

ifftn Bi n đ i Fourier r i r c ngế ổ ờ ạ ược n chi uề

Trang 39

* Nh đã gi i thi u ph n 4 matlab cung c p các hàm nhân, chia ma tr n do đó ta cóư ớ ệ ầ ấ ậ

th tính nghi m tr c ti p b ng phép chia ma tr n (không s d ng d u ‘.’):ể ệ ự ế ằ ậ ử ụ ấ

>> x=a\b % phép chia trái

V i các h có s bi n l n h n s phớ ệ ố ế ớ ơ ố ương trình thì h có vô s nghi m Khi th c hi nệ ố ệ ự ệ phép toán a\b matlab l a ch n gi i pháp s ph n t 0 c c đ i đ đ a ra 1 b nghi mự ọ ả ố ầ ử ự ạ ể ư ộ ệ

x1 + 2x2 - 4x4 = -3

x1 - x2 - 4x3 + 9x4 = 22

Trang 40

gi s 0xả ử 3có h s b ng 0 ta v n ph i nh p giá tr 0 v trí th 4 t ph i qua trái.ệ ố ằ ẫ ả ậ ị ở ị ứ ừ ả

C ng hai đa th c cũng tộ ứ ương t nh c ng ma tr n hàng ự ư ộ ậ

S ph n t trong hàng ph i tố ầ ử ả ương đương

Các v trí thi u ph i đị ế ả ược thêm ph n t 0ầ ử

11.1.2 Nhân, chia hai đa th c ứ

Matlab s d ng hàm conv đ nhân hai đa th c và s d ng hàm deconv đ chia hai đaử ụ ể ứ ử ụ ể

th c.ứ

>> tich=conv(h,g)% nhân hai đa th c, = conv(g,h) = 2xứ 5+13x4+23x3-14x2-105x+75tich =

2 13 23 -14 -105 75

>> [thuong,sodu]=deconv(h,g) % n u v trái ch có m t ph n t thì phép chia ch thuế ế ỉ ộ ầ ử ỉ

được đa th c thứ ương

thuong =

2 1

Ngày đăng: 05/07/2014, 21:20

HÌNH ẢNH LIÊN QUAN

Hình  3:  Các  ki u  giao  di n  c a  ể ệ ủ Matlab - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
nh 3: Các ki u giao di n c a ể ệ ủ Matlab (Trang 9)
Hình 1: Giao di n m c đ nh c a Matlab ệ ặ ị ủ - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
Hình 1 Giao di n m c đ nh c a Matlab ệ ặ ị ủ (Trang 9)
Hình  2:  C a  s   ử ổ workspace  t   ự - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
nh 2: C a s ử ổ workspace t ự (Trang 9)
Hình bên chúng ta th y 3 ki u n i suy d  li u: ấ ể ộ ữ ệ - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
Hình b ên chúng ta th y 3 ki u n i suy d li u: ấ ể ộ ữ ệ (Trang 44)
Hình n m d ằ ướ ườ i đ ng n i các đi m có ố ể - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
Hình n m d ằ ướ ườ i đ ng n i các đi m có ố ể (Trang 50)
Hình sin - MATLAB ỨNG DỤNG CHO NGÀNH HÓA HỌC VÀ CÔNG NGHỆ HÓA HỌC pps
Hình sin (Trang 61)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w