Tài liệu Kỹ thuật tính toán trong công nghệ hóa học

  • Số trang: 125 |
  • Loại file: PDF |
  • Lượt xem: 162 |
  • Lượt tải: 0
hoanggiang80

Đã đăng 20010 tài liệu

Mô tả:

Kỹ thuật tính toán trong công nghệ hóa học
Kỹ thuật tính toán trong công nghệ hóa học Mục Lục Lời nói đầu...............................................................................................................................................................2 Phần I: Cơ sở về Matlab.........................................................................................................................................3 Chương I:Bắt đầu với Matlab................................................................................................................................4 1.1 Nhập dữ liệu qua dòng lệnh............................................................................................................................4 1.2 Sử dụng help trực tuyến..................................................................................................................................6 1.3 Đường dẫn......................................................................................................................................................6 1.4 Lưu và tải dữ liệu............................................................................................................................................6 Chương 2: Các cấu trúc cơ bản và biến................................................................................................................7 2.1 Tính toán với Matlab .....................................................................................................................................7 2.2 Giới thiệu dạng dữ liệu...................................................................................................................................8 Chương 3: Tính toán với ma trận và vec tơ..........................................................................................................9 3.1 Vec tơ.............................................................................................................................................................9 3.1.1 Kí tự hai chấm và trích các phần tử của vec tơ....................................................................................10 3.1.2 Vec tơ cột và sự chuyển vị....................................................................................................................11 3.1.3 Nhân, chia và mũ của vec tơ................................................................................................................12 3.2 Ma trận..........................................................................................................................................................13 3.2.1 Các ma trận đặc biệt............................................................................................................................15 3.2.2 Xây dựng ma trận và cách trích các phần tử của ma trận...................................................................16 3.2.3 Các phép toán với ma trận...................................................................................................................19 Chương 4: Đồ họa..................................................................................................................................................21 4.1 Đồ thị đơn giản ............................................................................................................................................21 4.2 Vẽ đường .....................................................................................................................................................22 4.3 Vẽ mặt..........................................................................................................................................................26 Chương 5: Các luồng điều khiển..........................................................................................................................29 5.1 Các toán tử logic...........................................................................................................................................29 5.2 Lệnh find......................................................................................................................................................29 5.3 Câu lệnh if....................................................................................................................................................31 5.4 Cấu trúc lặp...................................................................................................................................................33 Chương 6: Phương pháp số..................................................................................................................................34 6.1 Đường cong hồi quy.....................................................................................................................................34 6.2 Phép nội suy.................................................................................................................................................34 6.3 Giá trị của hàm số.........................................................................................................................................35 6.3.1 Hàm ‘inline’.........................................................................................................................................36 6.4 Phép tính tích phân và tích phân...................................................................................................................37 6.5 Tính toán số học và cấu trúc điều khiển.......................................................................................................38 Chương 7: Viết chương trình trong Matlab.......................................................................................................38 7.1 Kịch bản và hàm m-file................................................................................................................................38 7.2 Hàm m-file....................................................................................................................................................38 7.2.1 Những biến đặc biệt của hàm số .........................................................................................................39 7.2.2 Biến địa phương và biến toàn cục........................................................................................................40 7.2.3 Tính giá trị hàm số cách gián tiếp........................................................................................................40 Chương 8: Văn bản...............................................................................................................................................42 8.1 Chuỗi kí tự....................................................................................................................................................42 8.2 Vào - ra dữ liệu.............................................................................................................................................43 8.2.1 Vào ra dữ liệu từ bàn phím .................................................................................................................43 8.2.2 Đưa dữ liệu ra màn hình......................................................................................................................44 8.2.3 Xử lí file văn bản..................................................................................................................................46 Phần II: Ứng dụng của Matlab............................................................................................................................50 trong công nghệ hóa học.......................................................................................................................................50 1 Kỹ thuật tính toán trong công nghệ hóa học Chương 1: Dẫn nhiệt và đối lưu...........................................................................................................................51 1.1. Dẫn nhiệt.....................................................................................................................................................51 1.1.1. Tóm tắt lí thuyết .......................................................................................................................51 1.1.2. Ví dụ....................................................................................................................................................52 1.2. Đối lưu.........................................................................................................................................................55 1.2.1. Tóm tắt lí thuyết..............................................................................................................................55 1.2.2.Ví dụ.....................................................................................................................................................58 Chương 2: Bức xạ nhiệt và truyền nhiệt.............................................................................................................63 2.1. Trao đổi nhiệt bức xạ giữa các vật.............................................................................................................63 2.1.1. Tóm tắt lí thuyết................................................................................................................................63 2.1.2. Ví dụ ...................................................................................................................................................64 2.2. Truyền nhiệt và thiết bị trao đổi nhiệt.........................................................................................................66 2.2.1 Tóm tắt lí thuyết ...............................................................................................................................66 2.1.2. Ví dụ ...................................................................................................................................................67 Chương 3: Kỹ thuật tách chất..............................................................................................................................73 3.1 Cân bằng lỏng hơi.........................................................................................................................................73 3.1.1 Tóm tắt lý thuyết.............................................................................................................................73 3.1.2 Ví dụ.....................................................................................................................................................75 3.1.3. Bài tập.................................................................................................................................................79 3.2 Phương pháp McCabe Thiele.......................................................................................................................80 3.2.1 Tóm tắt lý thuyết...................................................................................................................................80 3.2.2 Ví dụ.....................................................................................................................................................82 Chương 4: Kỹ thuật phản ứng.............................................................................................................................89 4.1 Nhiệt động học.............................................................................................................................................89 4.1.1 Tóm tắt lý thuyết.............................................................................................................................89 4.1.2 Ví dụ.....................................................................................................................................................91 4.2 Các kỹ thuật tiến hành phản ứng..................................................................................................................94 4.2.1 Tóm tắt lý thuyết...............................................................................................................................94 4.2.2 Ví dụ ....................................................................................................................................................95 4.2.3Bài tập...................................................................................................................................................99 Phụ lục....................................................................................................................................................................99 Tìm hiểu về các hàm xây dựng...........................................................................................................................100 Tài liệu tham khảo...............................................................................................................................................125 Lời nói đầu Các bài toán công nghệ hóa học trong thực tế là rất phức tạp, chúng ta cần có công cụ hỗ trợ để giải nó. Thực tế có rất nhiều phần mền, tuy nhiên, trong cuốn sách này, chúng tôi muốn giới thiệu đến các sinh viên nghành công nghệ hóa một công cụ rất mạnh, đó là matlab . Mat lab là một công cụ toán học rất mạnh, ngoài ra nó còn hỗ trợ ngôn ngữ lập trình bậc 4 với cấu trúc đơn giản, gần gũi, dễ tiếp cận, có thể linh hoạt giải quyết các bài toán thực tế để đạt được yêu cầu mong muốn. Do đó, việc sử dụng nó làm công cụ để giải quyết các bài toán kĩ thuật là rất tốt . Nội dung cuốn sách bao gồm: • Phần I: Cơ sở về Matlab nhằm giới thiệu cho bạn đọc sơ lược về Matlab 2 Kỹ thuật tính toán trong công nghệ hóa học • Phần II: Ứng dụng Matlab trong công nghệ hóa học gồm có các chương: Dẫn nhiệt và đối lưu; bức xạ và truyền nhiệt; kỹ thuật tách chất; kỹ thuật phản ứng . Trong từng chương có tóm tắt cơ sở lí thuyết, kèm theo mỗi chương đó thì có các ví dụ và bài tập liên quan đi kèm, mỗi một ví dụ minh họa được giải bằng tay sau đó được giải lại bằng matlab một cách sinh động và dễ hiểu, có tính tổng quát cao . Đưa matlab vào công nghệ hóa là mục đích của chúng tôi. Tuy nhiên, do được biên soạn lần đầu nên không thể tránh được những sai sót, rất mong nhận được đóng góp của bạn đọc để cuốn sách trở lên gần gũi hơn với các sinh viên công nghệ hóa cũng như những người quan tâm đến lĩnh vực này . Phần I: Cơ sở về Matlab Matlab là công cụ toán học, trước hết là các phép tính khoa học, ngoài ra nó còn cho phép vẽ các đồ thị, tính toán ma trận, làm việc với các đa thức và các hàm tích phân. Đồng thời,chúng ta có thể lập trình các chương trình tính toán một cách linh hoạt theo nhu cầu của mình. Đặc biệt Matlab tỏ ra rất mạnh mẽ trong việc thiết kế và tính toán vector và ma trận. Khi khởi chạy Matlab thì xuất hiện một hoặc nhiều cửa sổ trên màn hình, trong đó quan trọng nhất là Command window, nó cho phép nhập lệnh và hiển thị kết quả. 3 Kỹ thuật tính toán trong công nghệ hóa học Chương I:Bắt đầu với Matlab 1.1 Nhập dữ liệu qua dòng lệnh *) Các lệnh sẽ được thực hiện ngay sau khi ấn phím Enter. Kết quả sẽ được hiển thị trên màn hình nếu muốn. Tuy nhiên, nó chỉ thực hiện khi các dòng lệnh là hợp lệ. Có thể tìm hiểu thêm từ menu Help. Ví dụ : >> 3 + 7.5 >> 18/4 4 Kỹ thuật tính toán trong công nghệ hóa học >> 3 * 7 Chú ý : các dấu cách không quan trọng trong Matlab *) Kết quả tính toán sẽ được tự động lưu vào biến ans Ví dụ : >> 14/4 ans = 3.5000 >> ans^(-6) ans = 5.4399e-04 Chúng ta có thể định nghĩa biến cho riêng mình. Ví dụ: >> a = 14/4 a= 3.5000 >> b = a^(-6) b= 5.4399e-04 Dữ liệu sẽ được lưu vào biến a và b. *) Khi kết thúc dòng lệnh kết thúc bằng dấu “;” thì sẽ không hiển thị kết quả ra màn hình, có thể kiểm chứng bằng hai biểu thức sau : >> 3 + 7.5 >> 3 + 7.5; *) Có thể thực thi nhiều lệnh cùng một lúc, các câu lệnh ngăn cách nhau bởi dấu phẩy hoặc dấu chấm phẩy. >> sin(pi/4), cos(pi); sin(0) ans = 0.7071 ans = 0 Chú ý : cos(pi) không được in ra màn hình *) Mặc định Matlab chỉ hiển thị 5 chữ số. Do đó, muốn có kết quả chính xác hơn thì ta dùng lệnh format long thì có thể hiển thị được tới 15 chữ số >> 312/56 ans = 5.5714 5 Kỹ thuật tính toán trong công nghệ hóa học >> format long >> 312/56 ans = 5.57142857142857 Có thể tìm hiểu thêm: >> help format *) Khi dòng quá dài có thể dùng dấu “…” để nối câu xuống dòng sau >> sin(1) + sin(2) - sin(3) + sin(4) - sin(5) + sin(6) - ... sin(8) + sin(9) - sin(10) + sin(11) - sin(12) ans = 1.0357 *) Dòng kí tự đặt sau dấu “%” chỉ có tác dụng làm dòng chú thích >> sin(pi) % dùng để tính giá trị của sin (pi) 1.2 Sử dụng help trực tuyến Chúng ta có thể dùng cấu trúc >> help Vd: help ops Hoặc >> lookfor Vd : lookfor inverse 1.3 Đường dẫn Trong Matlab, các lệnh hay các chương trình được chứa trong m-file, cái mà được biên soạn từ file văn bản nhưng khi lưu với đuôi mở rộng là “.m”. M-file chỉ chạy được khi nó nằm ở thư mục current working directory 1.4 Lưu và tải dữ liệu Rất dễ dàng lưu hoặc gọi 1 biến nào đó, ta chỉ cần click vào File- menu sau đó chọn Save Workspace as... hoặc Load Workspace... Vd : khi save >> s1 = sin(pi/4); >> c1 = cos(pi/4); c2 = cos(pi/2); >> str = ’hello world’; >> save >> save data % đây là 1 chuỗi % lưu toàn bộ biến với định dạng matlab.mat % lưu các biến với định dạng nhị phân data.mat 6 Kỹ thuật tính toán trong công nghệ hóa học >> save numdata s1, c1 % lưu các biến số s1 và c1 tới numdata.mat >> save strdata str % lưu biến chuỗi str vào strdata.mat >> save allcos.dat c* -ascii allcos.dat % saves c1,c2 in 8-digit ascii format to Còn khi load >> load % tải tất cả các biến từ file matlab.mat >> load data s1 c1 >> load str data % chỉ tải riêng từng biến trong file data.mat % tải tất cả các biến từ file strdata.mat Chương 2: Các cấu trúc cơ bản và biến 2.1 Tính toán với Matlab Có 3 loại biến số học: Số nguyên, số thực, số phức. Matlab còn hỗ trợ thêm những loại không phải là số: Inf (giá trị vô cực, ví dụ : 1/0 sẽ cho kết quả như vậy) hoặc NaN (không phải là số, là kết quả của các phép tính như 0/0 hoặc vô cùng – vô cùng) Chúng ta có thể viết các biểu thức trên dòng lệnh của Matlab : >> (23*17)/7 Kết quả sẽ là : ans = 7 Kỹ thuật tính toán trong công nghệ hóa học 55.8571 Matlab có 6 toán tử cơ bản là : +, - , * , \ , /(chia phải hoặc trái) và ^(hàm mũ) Chú ý sự khác nhau của toán tử chia trái và chia phải : >> 19/3 % thực hiện phép chia: 19/3 ans = 6.3333 >> 19\3, 3/19 % thực hiện phép chia: 3/19 ans = 0.1579 ans = 0.1579 Những hàm cơ bản về lượng giác, mũ … có thể tìm hiểu >> help elfun Bài tập: Xác định giá trị các biểu thức dưới đây bằng tay và bằng Matlab để so sánh. Chú ý tới sự khác nhau giữa chia trái và phải, và dùng lệnh help để tìm hiểu về các hàm: round, floor, ceil … • 2/2 - 3 • 8 - 5\4 • 8 - (5\4) • 7 − 5 - 4\9 • 6 − 2/5 + 7^2 − 1 • 10/2\5 − 3 + 2 - 4 • 3^2/4 • 3^2^3 • 2 + round (6/9 + 3 - 2)/2 • 2 + floor (6/9 + 3 - 2)/2 • 2 + ceil (6/9 + 3 - 2)/2 • x = pi/3, x = x − 1, x = x + 5, x = abs(x)/x 2.2 Giới thiệu dạng dữ liệu Mặc dù tất cả các tính toán số trong Matlab đều được tính toán với độ chính xác kép (double precision), nhưng khuôn dạng của dữ liệu đưa ra có thể định dạng lại nhờ các lệnh định dạng của Matlab. Các biến ngầm định cũng như các biến của người sử dụng định nghĩa đều có thể đưa ra nhiều định dạng khác nhau. Định dạng được chọn nhờ sử dụng lệnh format tiếp đến là chỉ định long hay short và cuối cùng có thể là dạng biểu diễn của dữ liệu, cụ thể là e đối với dạng hàm mũ, f đối dạng dấu phẩy 8 Kỹ thuật tính toán trong công nghệ hóa học động(ngầm định là f). Một khuôn dạng ít dùng hơn là rat để đưa dữ liệu ra dưới dạng phân số (chính xác hoặc gần đúng ). Ví dụ: >> 4*atan(1) ans = 3.1416 >> format long e >> ans ans = 3.141592653589793e+000 >> format long f >> ans ans = 3.14159265358979 >> format short e >> ans ans = 3.1416e+000 >> format rat >> ans ans = 355/113 Chương 3: Tính toán với ma trận và vec tơ Nền tảng của Matlab chính là ma trận (hay mảng). Trường hợp đặc biệt: 1 ma trận 1 × 1: là 1 số vô hướng; 1 ma trận chỉ có 1 dòng hoặc 1 cột: là 1 vec tơ 3.1 Vec tơ Vec tơ hàng là 1 danh sách các số được ngăn cách nhau bởi dấu cách hoặc dấu phẩy. Số lượng phần tử của 1 vec tơ được gọi là length của vec tơ. Các phần tử nhập vào phải đặt trong dấu “[ ]”. Vd: >> v = [-1 sin(3) 7] v= 9 Kỹ thuật tính toán trong công nghệ hóa học -1.0000 0.1411 7.0000 >> length(v) ans = 3 Một số phép toán có thể thực hiện với vec tơ như nhân vô hướng, cộng hoặc trừ từ các vec tơ khác có số phần tử tương tự, hoặc giữa 1 số với vec tơ. Mọi phép toán đều được thực hiện trên từng phần tử. Các vec tơ cũng có thể được xây dựng từ các phần tử hữu hạn. >> v = [-1 2 7]; w = [2 3 4]; >> z = v + w % cộng từng phần tử z= 1 5 11 >> vv = v + 2 % cộng 2 vào tất cả các phần tử vào vec tơ vv = 149 >> t = [2*v, -w] ans = -2 4 14 -2 -3 -4 Đồng thời 1 phần tử có thể được trích dẫn ra, hoặc chỉnh sửa: >> v(2) = -1 % sửa phần tử thứ 2 của v v= -1 -1 7 >> w(2) % hiển thị phần tử thứ 2 của w ans = 3 3.1.1 Kí tự hai chấm và trích các phần tử của vec tơ Dấu hai chấm là phím tắt quan trọng dùng để tạo ra vec tơ hàng: >> 2:5 ans = 2 3 4 5 >> -2:3 ans = -2 -1 0 1 2 3 10 Kỹ thuật tính toán trong công nghệ hóa học Dạng tổng quát “first:step:last”, khởi tạo vec tơ dòng bắt đầu từ phần tử first, kết thúc tại phần tử last và với độ dài bước là step. Nếu không chỉ ra step, thì giá trị mặc định nó là bằng một. >> 0.2:0.5:2.4 ans = 0.2000 0.7000 1.2000 1.7000 2.2000 >> -3:3:10 ans = -3 0 3 6 9 >> 1.5:-0.5:-0.5 % cũng có thể dùng bước nhảy âm ans = 1.5000 1.0000 0.5000 0 -0.5000 Các phần tử có thể được lấy ra bởi dấu hai chấm >> r = [-1:2:6, 2, 3, -2] % -1:2:6 => -1 1 3 5 r= -1 1 3 5 2 3 -2 11 >> r(3:6) % lấy ra các phần tử của r có vị trí từ 3 đến 6 ans = 3 5 2 3 >> r(1:2:5) %lấy ra các phần tử của r có vị trí 1,3 và 5 ans = -1 3 2 >> r(5:-1:2) % chuyện gì sẽ xảy ra với trường hợp này? 3.1.2 Vec tơ cột và sự chuyển vị Để tạo 1 vec tơ cột, chúng ta phải tách các phần tử bởi phím ‘enter’ hoặc dấu chấm phẩy: >> z = [1 7 7]; z= 1 7 7 >> u = [-1; 3; 5] 11 Kỹ thuật tính toán trong công nghệ hóa học u= -1 3 5 Các phép toán cũng được thực hiện 1 cách tương tự, và cũng có thể chuyển dạng thành vec tơ hàng: >> u’ % u là vec tơ hàng còn u’ là vec tơ cột ans = -1 3 5 3.1.3 Nhân, chia và mũ của vec tơ Chúng ta có thể tính tích vô hướng của 2 vec tơ có cùng độ dài: >> u = [-1; 3; 5] % 1 vec tơ cột >> v = [-1; 2; 7] >> u * v % 1 vec tơ cột % chúng ta không thể nhân vec tơ cột với vecto cột ??? Error using ==> * Inner matrix dimensions must agree. >> u’ * v % đây mới là tích vô hướng ans = 42 Một cách khác để tính tích vô hướng là sử dụng dấu “.*”: >> u .* v %nhân từng phần tử cho nhau 1 6 35 >> sum(u.*v) % cách lấy tích vô hướng ans = 42 >> z = [4 3 1]; % z là vec tơ hàng >> sum(u’.*z) % tích vô hướng ans = 10 Trong toán học, chúng ta không chia vec tơ cho vec tơ. Tuy nhiên, trong Matlab chúng ta có thể chia từng phần tử cho nhau của các vec tơ có cùng kích cỡ và cùng loại: >> x = 2:2:10 12 Kỹ thuật tính toán trong công nghệ hóa học x= 2 4 6 8 10 >> y = 6:10 y= 6 7 8 9 10 >> x./y ans = 0.3333 0.5714 0.7500 0.8889 1.0000 >> z = -1:3 z= -1 0 1 2 3 >> x./z % chia 4/0, kết quả ra Inf Warning: Divide by zero. ans = -2.0000 Inf 6.0000 >> z./z 4.0000 3.3333 % chia 0/0, kết quả ra NaN Warning: Divide by zero. 13 ans = 1 NaN 1 1 1 Toán tử “./” có thể thực hiện bởi 1 đại lượng vô hướng với 1 vector: >> x=1:5; 2/x % không thể thực hiện ??? Error using ==> / Matrix dimensions must agree. >> 2./x % nhưng thế này thì được! ans = 2.0000 1.0000 0.6667 0.5000 0.4000 3.2 Ma trận Một ma trận A= 1  4 7  2 5 8 3  6 9  Được định nghĩa trong Matlab như sau: 13 Kỹ thuật tính toán trong công nghệ hóa học >> A = [1 2 3; 4 5 6; 7 8 9] % nhập theo hàng A= 1 2 3 4 5 6 7 8 9 Hoặc cũng có thể: >> A2 = [1:4; -1:2:5] A2 = 1 2 3 4 -1 1 3 5 >> A3 = [1 3 -4 7] A3 = 1 3 -4 7 Phép toán chuyển vị ma trận cũng có thể thực hiện 1 cách dễ dàng: >> A2 A2 = 1 2 3 4 -1 1 3 5 >> A2’ % chuyển vị A2 ans = 1 -1 2 1 3 3 45 >> size(A2) % lấy cỡ của A2 ans = 2 4 >> size(A2’) ans = 4 2 14 Kỹ thuật tính toán trong công nghệ hóa học 3.2.1 Các ma trận đặc biệt >> E = [] % tạo lập 1 ma trận rỗng ! E= [] >> size(E) ans = 0 0 % ma trận đơn vị 3 × 3 >> I = eye(3); I= 16 1 0 0 0 1 0 0 0 1 >> x = [2; -1; 7]; I*x % I is such that for any 3-by-1 x holds I*x = x ans = 2 -1 7 >> r = [1 3 -2]; R = diag(r) % tạo lập 1 ma trận chéo với r nằm trên đường chéo R= 1 0 0 0 3 0 0 0 -2 >> A = [1 2 3; 4 5 6; 7 8 9]; >> diag(A) % trích dẫn đường chéo của ma trận A ans = 1 5 9 >> B = ones(3,2) B= 1 1 1 1 15 Kỹ thuật tính toán trong công nghệ hóa học 1 1 >> C = zeros (size(C’)) kích thước bằng ma trận C’ % một ma trận toàn phần tử toàn là số 0 với C= 0 0 0 0 0 0 >> D = rand(2,3) % tạo 1 ma trận với các phần tử là các số ngẫu nhiên D= 0.0227 0.9101 0.9222 0.0299 0.0640 0.3309 >> v = linspace(1,2,4) % một vec tơ được sử dụng như 1 ma trận v= 1.0000 1.3333 1.6667 2.0000 3.2.2 Xây dựng ma trận và cách trích các phần tử của ma trận Người ta thường xây dựng một ma trận lớn hơn từ những cái nhỏ hơn: >> x = [4; -1], y = [-1 3] x= 4 -1 y= -1 3 >> X = [x y’] % X gồm có cột x và y’ X= 4 -1 -1 3 >> T = [ -1 3 4; 4 >> T = [T; t] 5 6]; t = 1:3; % thêm hàng cho T, hàng đó là vec tơ t T= -1 3 4 4 5 6 1 2 3 >> G = [1 5; 4 >> T2 = [T G] 5; 0 2]; % G là ma trận 2*3 % ghép 2 ma trận 16 Kỹ thuật tính toán trong công nghệ hóa học T2 = -1 3 4 1 5 4 5 6 4 5 1 2 3 0 2 >> T3 = [T; G ones(3,1)] % G là 3*2, T là 3*3 T3 = -1 3 4 4 5 6 1 2 3 1 5 1 4 5 1 0 2 1 >> T3 = [T; G’]; >> [G’ diag(5:6); ones(3,2) T] % chúng ta cso thể nối nhiều ma trận ans = 1 4 0 5 0 5 5 2 0 6 1 1 -1 3 4 1 1 4 5 6 1 1 1 2 3 Một phần có thể được trích từ 1 ma trận tương tự như cách lấy của vectơ. Mỗi phần tử trong ma trận được mang chỉ số bởi vị trí của nó trong hàng và cột. Ví dụ: >> A = [1:3; 4:6; 7:9] A= 123 456 789 >> A(1,2), A(2,3), A(3,1) ans = 2 ans = 6 17 Kỹ thuật tính toán trong công nghệ hóa học ans = 7 >> A(4,3) % this is not possible: A is a 3-by-3 matrix! ??? Index exceeds matrix dimensions. >> A(2,3) = A(2,3) + 2*A(1,1) % sửa giá trị của phần tử A(2,3) A= 1 2 3 4 5 8 7 8 9 Ta có thể dễ dàng mở rộng ma trận: >> A(5,2) = 5 % gán 5 vào vị trí (5,2); A= 1 2 3 4 5 8 7 8 9 0 0 0 0 5 0 >> A(4,:) = [2, 1, 2]; % gán vec tơ [2, 1, 2] cho hàng thứ 4 của A >> A(5,[1,3]) = [4, 4]; % gán : A(5,1) = 4 và A(5,3) = 4 >> A Lấy các phần tử khác của A: >> A(3,:) % trích ra hàng thứ 3 của A ans = 7 8 9 >> A(:,2) % trích ra cột thứ 2 của A ans = 2 5 8 1 5 >> A(1:2,:) % trích ra hàng 1 và 2 của A ans = 1 2 3 18 Kỹ thuật tính toán trong công nghệ hóa học 4 5 8 >> A([2,5],1:2) % trích ra các phần của A ans = 4 5 4 5 Khái niệm về ma trận rỗng [] rất hữu ích trong Matlab. 1 số hàng hoặc cột của ma trận có thể được loại bỏ bằng cách gán nó bằng 1 ma trận rỗng: >> C = [1 2 3 4; 5 6 7 8; 1 1 1 1]; >> D = C; D(:,2) = [] % copy C vào D, xóa cột thứ 2 của D >> C ([1,3],:) = [] % xóa hàng 1 và hàng 3 của C 3.2.3 Các phép toán với ma trận Các phép toán thực hiện với ma trận cũng tương tự với vec tơ: >> B = [1 -1 3; 4 0 7] B= 1 -1 3 4 7 0 >> B2 = [1 2; 5 >> B = B + B2’ 1; 5 6]; % cộng 2 ma trận. Tại sao phải thay B2’ cho B2? B= 2 4 8 6 1 13 >> B-2 % trừ các phần tử của B cho 2 ans = 0 2 6 4 -1 11 >> ans = B./4 % chia các phần tử của B cho 4 ans = 0.5000 1.0000 2.0000 1.5000 0.2500 3.2500 >> 4/B % đây là điều không thể ??? Error using ==> / Matrix dimensions must agree. >> 4./B % nhưng đây lại có thể ; tương đương với: 4.*ones(size(B)) ./ B 19 Kỹ thuật tính toán trong công nghệ hóa học ans = 2.0000 1.0000 0.5000 0.6667 4.0000 0.3077 >> C = [1 -1 >> B .* C 4; 7 0 -1]; % nhân từng phần tử ans = 2 -4 32 42 0 -13 >> ans.^3 – 2 % thực hiện cho tất cả các phần tử ans = 6 -66 327 66 74086 -2 -2199 20 >> ans ./ B.^2 ans = 0.7500 -1.0312 63.9961 342.9907 -2.0000 -1.0009 >> r = [1 3 -2]; r * B2 ans = 6 -7 Khi thực hiện nhân ma trận: >> b = [1 3 -2]; >> B = [1 -1 3; 4 0 7] B= 1 -1 3 4 7 0 >> b * B % không thể thực hiện: b là ma trận 1*3 và B là 2*3 ??? Error using ==> * Inner matrix dimensions must agree. >> b * B’ ans = -8 -10 >> B’ *ones(2,1) ans = 20
- Xem thêm -