Bài giảng Lập trình tính toán Matlab - Chương 2: Thực hành tính toán trên Matlab

2.2 Biến (variable)  Không cần khai báo biến  Một biến sẽ được tự động tạo ra trong quá trình gán dữ liệu cho biến đó.  Tên biến: bắt đầu bằng một ký tự chữ, tiếp theo có thể là ký tự chữ, ký tự số hoặc dấu gạch chân “_” Ví dụ: – Hợp lệ: a, a_b1, a1 – Không hợp lệ: _a, 1a, abc*  Lệnh “who” và “whos”: cho biết thông tin về các biến đang hiện hữu.

pdf80 trang | Chia sẻ: candy98 | Lượt xem: 766 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình tính toán Matlab - Chương 2: Thực hành tính toán trên Matlab, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 2 Thực hành tính toán trên Matlab 2 06/05/2013 Phép toán Mô tả + x+y - x-y * x*y / x/y \ x\y = y/x ^ x^y Lập trình tính toán 2.1 Các toán tử cơ bản của Matlab 3 06/05/2013 Độ ưu tiên Phép toán Tính ưu tiên 1 (,) Từ trong ra ngoài 2 ^ Từ trái qua phải 3 ±a 4 *,/,\ Từ trái qua phải 5 +,- Từ trái qua phải Lập trình tính toán 2.1 Các toán tử cơ bản của Matlab (tt.)  Độ ưu tiên của phép toán: 4 06/05/2013 Lập trình tính toán 2.2 Biến (variable)  Không cần khai báo biến  Một biến sẽ được tự động tạo ra trong quá trình gán dữ liệu cho biến đó.  Tên biến: bắt đầu bằng một ký tự chữ, tiếp theo có thể là ký tự chữ, ký tự số hoặc dấu gạch chân “_” Ví dụ: – Hợp lệ: a, a_b1, a1 – Không hợp lệ: _a, 1a, abc*  Lệnh “who” và “whos”: cho biết thông tin về các biến đang hiện hữu. 5 06/05/2013 Lập trình tính toán 2.2 Biến (variable) (tt.)  Một số biến mặc định (hằng số): Tên biến Giá trị / Ý nghĩa ans Tên biến mặc định dùng để lưu kết quả của phép tính cuối cùng pi π = 3.14159 eps epsilon = 2-52 inf Vô cực (∞) nan hay NaN Not a Number (vô định) 6 06/05/2013 Lập trình tính toán 2.2 Biến (variable) (tt.)  Một số biến mặc định (tt.): Tên biến Giá trị / Ý nghĩa i, j i = j = nargin/nargout Số đối số input/output của hàm realmin Số thực dương nhỏ nhất (2-1022) realmax Số thực dương lớn nhất ((2-esp)*21023) e Nhân lũy thừa của 10 (5e2 = 5*102 = 500) 1− 7 06/05/2013 Lập trình tính toán 2.2 Biến (variable) (tt.)  Xóa giá trị của biến: Xóa biến x là xóa vùng nhớ đã cấp phát cho biến x. Lệnh Ý nghĩa clear x Xóa một biến x clear x y z Xóa một lúc nhiều biến clear Xóa hết các biến hiện hữu 8 06/05/2013 Tìm USCLN, BSCNN  Lệnh tìm USCLN >> gcd(a,b)  Lệnh tìm BSCNN >> lcm(a,b) Lập trình tính toán 2.3 Tính toán số học và đại số thông dụng 9 06/05/2013  Ví dụ: Tìm USCLN của 2^100-1 và 2^60-1 >>gcd(2^52-1,2^30-1) 3 Tìm BSCNN của 45,72 >>lcm(45,72) 360 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Tìm USCLN, BSCNN (tt.) 10 06/05/2013 Phân tích một số ra tích các thừa số nguyên tố  Cú pháp >> factor(số)  Ví dụ: Phân tích 1223456789 >>factor(1223456789) 3109 393521 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 11 06/05/2013 Tìm số nguyên tố  Trước một số a cho trước >> primes(a)  Xác định a có phải là số nguyên tố hay không >> isprime(a)  Ví dụ: Tìm các số nguyên tố trước số 20? >> primes(20) 2 3 5 7 11 13 17 19 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 12 06/05/2013 Tìm phần dư >> rem(a,b) hoặc >>mod(a,b)  Ví dụ: >> rem(16,-12) 4 >> mod(16,-12) -8 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 13 06/05/2013 Dạng hiển thị số >>format Lập trình tính toán Kiểu Hiển thị Ví dụ short (mặc định) 4 chữ số thập phân 3.1416 long 15 chữ số thập phân 3.141592653589793 bank 2 chữ số thập phân 3.14 rat Dạng phân số a/b 355/113 2.3 Tính toán số học và đại số (tt.) 14 06/05/2013 Khai báo biến hình thức  Khai báo biến: >> syms a b c hoặc >> a = sym(‘a’)  Khai báo biến phức: >>syms x y real hoặc >> x=sym(‘x’,‘real’); y=sym(‘y’,‘real’); >>z =x+i*y Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 15 06/05/2013 Khai báo biến hình thức (tt.)  Khai báo hàm số: >> syms f(a,b) >> f(a,b)=2*a+b >> f(2,3) 7 Hoặc >> syms x y >> g(x,y)=2*x+y Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 16 06/05/2013 Tính tổng  Hữu hạn: >> symsum(f(i),m,n)  Vô hạn: >> symsum(f(i),m,inf) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 17 06/05/2013 Tính tổng (tt.)  Ví dụ: Tính >>symsum((1+x)/(1+x^2),1,10) 2745615458 ------------------ 846523925 Lập trình tính toán ∑ = + +10 1 21 1 x x x 2.3 Tính toán số học và đại số (tt.) 18 06/05/2013 Tính tổng (tt.)  Ví dụ: Tính >> syms k >> symsum(k^3) Lập trình tính toán ∑ − = 1 0 3 n k k 424 234 kkk +− 2.3 Tính toán số học và đại số (tt.) 19 06/05/2013 Tính tổng (tt.)  Ví dụ: Tính >> symsum(1/(k^2),1,inf) Lập trình tính toán 2 1 1 k k ∞ = ∑ 2 6 π 2.3 Tính toán số học và đại số (tt.) 20 06/05/2013 Tính tích  Hữu hạn: >> symprod(f(i),m,n)  Vô hạn: >> symprod(f(i),m,inf) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 21 06/05/2013 Tính tích (tt.)  Ví dụ: Tính >> symprod((k^2-1)/k^2,2,20) 21/40 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) ∏ = −20 2 2 2 1 k k k 22 06/05/2013 Tính tích (tt.)  Ví dụ (tt.): Tính Công thức Euler >> syms n >> symprod(1-1/(4*n^2),1,inf) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 2 1 11 4n n ∞ =  −    ∏ 2 π 23 06/05/2013 Cú pháp: >>expand(expr) Ví dụ: Khai triển (x + y)4 >> expand((x+y)^4) x4 + 4x3y + 6x2y2 + 4xy3 + y4 Lập trình tính toán Khai triển biểu thức đại số 2.3 Tính toán số học và đại số (tt.) 24 06/05/2013 Cú pháp: >>factor(expr) Ví dụ: >>expr1=(x-1)*(x-2)*(x-3) expr1=(x-1)(x-2)(x-3) >>expr2=expand(expr1) expr2=x3-6x2+11x-6 >>factor(expr2) (x-3)(x-1)(x-2) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Phân tích thành nhân tử 25 06/05/2013 Cú pháp: >>simplify(expr) >>simple(expr) Ví dụ: Đơn giản biểu thức cos5(x) + sin4(x) + 2cos2(x) – 2sin2(x) – cos(2x) >>simplify(cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)) cos(x)5 + cos(x)4 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Đơn giản biểu thức 26 06/05/2013 Ví dụ (tt.): Đơn giản biểu thức >>simple((1/x^3+6/x^2+12/x+8)^1/3) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Đơn giản biểu thức (tt.) 3 3 8 1261 2 +++ xxx 3 3 3 )12( x x + 27 06/05/2013 Cú pháp: >>subs(expr,old,new) Ví dụ: >> syms z >> expr=x^2+y^2-2*z^2*x x2 – 2xz2 + y2 >> subs(expr,{x,y},{1,z}) 1 – z2 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Tính giá trị biểu thức 28 06/05/2013 Cú pháp: >>[N D]=numden(frac) Ví dụ: >> [N D]=numden(x/y+y/x) N = x2 + y2 D = xy Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Tính tử và mẫu của phân số 29 06/05/2013 Cú pháp: >> solve(eqns) Ví dụ: Giải phương trình ax2+bx+c=0 >> syms a b c x; >> f=a*x^2+b*x+c; >> solve(f) -(b+(b^2-4*a*c)^(1/2))/(2*a) -(b-(b^2-4*a*c)^(1/2))/(2*a) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Giải phương trình & hệ phương trình 30 06/05/2013 Ví dụ (tt.): >> solve(f,b) -(a*x^2+c)/x Giải phương trình x2+2x=1 >> syms x real >> solve(‘x^2+2*x=1’) hoặc >>solve(x^2+2*x==1) 2^(1/2)-1 -2^(1/2)-1 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Giải phương trình & hệ phương trình (tt.) 31 06/05/2013 Ví dụ (tt.): Giải hệ phương trình >> syms a b c real >> eqn1=a+5*b-7*c==13; eqn2=-2*a+3*b-c==1; eqn3=a+2*b-4*c-4==0; >>s=solve(eqn1,eqn2,eqn3); Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Giải phương trình & hệ phương trình (tt.) 5 7 13 2 3 1 2 4 4 0 a b c a b c a b c + − = − + − =  + − − = 32 06/05/2013 Ví dụ (tt.): >> s.a 10 >> s.b 9 >> s.c 6 Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) Giải phương trình & hệ phương trình (tt.) 33 06/05/2013 Phép tính giới hạn  Tính giới hạn của hàm số tại x=0. >> limit(f)  Tính giới hạn của hàm số tại x=a. >> limit(f,x,a) hoặc >>limit(f,a)  Tính giới hạn của hàm số tại vô cùng >> limit(f,x,inf) 2.4 Phép tính vi phân và tích phân Lập trình tính toán 34 06/05/2013  Ví dụ: >> limit(sin(x)/x) 1 >> limit(exp(x),inf) Inf >> limit(exp(x),-inf); 0 >> limit(1/x, x=0, real) NaN Phép tính giới hạn (tt.) Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 35 06/05/2013 Giới hạn bên trái – bên phải  Giới hạn bên trái: >> limit(f, a, ‘left’);  Giới hạn bên phải: >> limit(f, a, ‘right’); Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 36 06/05/2013  Ví dụ: Cho hàm số Xét tính liên tục của hàm số trên. >> f=x/abs(x); >> limit(f,x,0, ‘left’) -1 >>limit(f,x,0,‘right’) 1 Giới hạn bên trái – bên phải Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) x xf = 37 06/05/2013  Tích phân bất định: >> int(f,x) hoặc int(f) Ví dụ: >> int(1/(x^2-4*x+3),x) log(x-3)/2 - log(x-1)/2 Lập trình tính toán Tính tích phân 2.4 Phép tính vi phân và tích phân (tt.) 38 06/05/2013 Tính tích phân (tt.)  Tích phân xác định: >> int(f,a,b) Ví dụ: Tính tích phân >> int(1/(x^2-4*x+3),4,6) log((3*5^(1/2))/5) Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 6 24 1 4 3 dx x x− +∫ 39 06/05/2013 Tính tích phân (tt.)  Tích phân xác định (tt.): Ví dụ (tt.): Tính tích phân >> int(sqrt(exp(2*x)+cox(x)^2+1),0,pi) Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 2 2 0 cos( ) 1xe x dx π + +∫ 40 06/05/2013 Tính đạo hàm hàm số một biến  Cú pháp: >> diff(f(x))  Ví dụ: Tính đạo hàm của hàm số f(x) = cos2(x)/sin(2x) >> f=cos(x)^2/sin(2*x); >> f_diff=diff(f) -(2cos(2x)cos2(x)/sin2(2x)-2cos(x)sin(x))/sin(2x) >> simplify(f_diff) Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 2 1 2sin( )x − 41 06/05/2013 Tính đạo hàm hàm số nhiều biến  Cú pháp: >> diff(f(x,y),x)  Ví dụ: Tính đạo hàm của hàm số g(x,y) = y*cos(xy) >> g=y*cos(x*y); >> g_diff=diff(g,x) -y^2*sin(x*y) Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 42 06/05/2013 Đạo hàm cấp cao  Đạo hàm cấp hai: >> diff(f,2) hoặc >> diff(diff(f)) >>diff(f,x,2)  Đạo hàm cấp k: >> diff(f,k)  Ví dụ: >> diff(x^3-2*x^2,3) 6 Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 43 06/05/2013 Khai triển hàm số thành chuỗi số  Cú pháp: >> taylor(f,‘Order’,m)  Ví dụ: Khai triển y=sin(2x).cos(x) tới bậc 15 tại x=0 >> approx=taylor(sin(2*x)*cos(x),‘Order’,15) (398581*x^13)/3113510400 – (44287*x^11)/19958400 + (703*x^9)/25920 – (547*x^7)/2520 + (61*x^5)/60 – (7*x^3)/3 + 2*x Lập trình tính toán 2.4 Phép tính vi phân và tích phân (tt.) 44 06/05/2013 Nhập ma trận  Nhập trực tiếp danh sách các phần tử  Phát sinh ma trận bằng các hàm sẵn có  Nhập từ file  Tạo ma trận bằng các file .m Ví dụ: >> A = [1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính  Dấu “[” và “]” mở đầu và kết thúc nhập ma trận.  Dấu “;” kết thúc một dòng.  Các phần tử cách nhau bằng “khoảng trắng” hoặc dấu “,” 45 06/05/2013 Phát sinh ma trận bằng hàm sẵn có Cú pháp: Ma trận 0 >> zeros(m,n) m, n: kích thước ma trận Ma trận 1 >> ones(m,n) Ma trận đơn vị >> eye(n) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 46 06/05/2013 Phát sinh ma trận bằng hàm sẵn có (tt.) Cú pháp (tt.): Ma trận đường chéo >> diag([a,b,c,]) Ma phương >> magic(n) Ma trận các số thực ngẫu nhiên từ 0 đến 1 >> rand(m,n) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 47 06/05/2013 Nhập ma trận bằng hàm load Ví dụ: Giả sử ta có một file mt.dat có nội dung như sau (các số cách nhau bởi khoảng trắng) 1 2 3 4 5 6 7 8 9 Dòng lệnh >>load mt.dat sẽ đọc file mt.dat, tạo biến có tên là mt, là ma trận các phần tử có trong file mt.dat. Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 48 06/05/2013 Nhập ma trận bằng file .m Ví dụ: Tạo file mt.m bằng Matlab Editor hoặc chương trình soạn thảo bất kỳ. Nội dung file: A=[1 2 3 4 5 6 7 8 9] Dòng lệnh >>mt sẽ đọc file mt.m, tạo biến A là ma trận như trên. Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 49 06/05/2013 Trích một phần tử trong ma trận  Cú pháp: >>A(i,j) i: chỉ số dòng j: chỉ số cột Ví dụ: >> A(3,2) 8 >> A(4) %phần tử thứ 4 duyệt theo cột từ trái qua phải, từ trên xuống dưới. 2 Lập trình tính toán A = 1 2 3 4 5 6 7 8 9 2.5 Tính toán trong đại số tuyến tính (tt.) 50 06/05/2013 Chỉ số vượt khỏi kích thước ma trận Ví dụ: >> A(4,5) Index exceeds matrix dimensions >> X=A >> X(3,4)=10 X = 1 2 3 0 4 5 6 0 7 8 9 10 Lập trình tính toán A = 1 2 3 4 5 6 7 8 9 2.5 Tính toán trong đại số tuyến tính (tt.) 51 06/05/2013 Dấu hai chấm “:” Ví dụ: >> 1:10 ans = 1 2 3 4 5 6 7 8 9 10 %tạo bước tăng/giảm khác 1 >> 100:-7:50 ans = 100 93 86 79 72 65 58 51 >> 0:pi/4:pi ans = 0 0.7854 1.5708 2.3562 3.1416 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 52 06/05/2013 Dấu hai chấm “:” (tt.) Ví dụ (tt.): >> A(1,1:2) %dãy 2 phần tử đầu tiên ở dòng thứ 1 của A ans = 1 2 >> sum(A(1:2,1)) %tổng 3 số đầu tiên ở cột 1 của A ans = 5 >> A(1,:)%toàn bộ phần tử của dòng 1 ans = 1 2 3 >> A(end,1) %phần tử cuối cùng của cột 1 ans = 7 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 53 06/05/2013 Trích nhiều phần tử trong ma trận Ví dụ: >> A(2,[3,1]) %phần tử thứ 3 và thứ 1 của dòng 2 của A ans = 6 4 >> x=[2 1 5 8] x = 2 1 5 8 >> x([2,4]) ans = 1 8 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 54 06/05/2013 Ghép hai ma trận Ví dụ: Thêm cột: >>D=[A B] D = 1 2 3 10 11 4 5 6 12 13 Thêm dòng: >>E=[A;C] E = 1 2 3 4 5 6 7 8 9 9 7 8 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 B = 10 11 12 13 C = 7 8 9 9 7 8 55 06/05/2013 Xóa dòng, xóa cột Ví dụ: Xóa cột: >>D(:,2)=[] D = 1 3 10 11 4 6 12 13 Xóa dòng: >>D(2;:)=[] D = 1 3 10 11 Xóa nhiều phần tử: >>E(1:2:10)=[] E = 4 9 5 7 6 9 8 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) D = 1 2 3 10 11 4 5 6 12 13 E = 1 2 3 4 5 6 7 8 9 9 7 8 56 06/05/2013 Tổng các cột của ma trận  Cú pháp: >>sum(A) Ví dụ: >> sum(A) ans = 12 15 18 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 57 06/05/2013 Ma trận chuyển vị  Cú pháp: >>A’ Ví dụ: >> A’ ans = 1 4 7 2 5 8 3 6 9 Lập trình tính toán A = 1 2 3 4 5 6 7 8 9 2.5 Tính toán trong đại số tuyến tính (tt.) 58 06/05/2013 Đường chéo ma trận  Cú pháp: >>diag(A) Ví dụ: >> diag(A) 1 5 9 Lập trình tính toán A = 1 2 3 4 5 6 7 8 9 2.5 Tính toán trong đại số tuyến tính (tt.) 59 06/05/2013 Phép cộng, trừ hai ma trận Ví dụ: Cộng hai ma trận: >>A+B ans = 1 3 5 6 8 10 14 14 14 Trừ hai ma trận: >>A-B ans = 1 1 1 2 2 2 0 2 4 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 B = 0 1 2 2 3 4 7 6 5 60 06/05/2013 Phép nhân hai ma trận Ví dụ: >>A*B ans = 25 25 25 52 55 58 79 85 91 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 B = 0 1 2 2 3 4 7 6 5 61 06/05/2013 Lũy thừa ma trận Cú pháp: >>A^m Ví dụ: >>A^2 ans = 30 36 42 66 81 96 102 126 150 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 62 06/05/2013 Ma trận nghịch đảo Cú pháp: >>A^(-1) Hoặc >>inv(A) Ví dụ: >>inv(A) ans = -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 63 06/05/2013 Định thức của ma trận Cú pháp: >>det(A) Ví dụ: >>det(A) ans = 0 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 64 06/05/2013 Rút gọn dạng ma trận bậc thang Cú pháp: >>rref(A) Ví dụ: >>rref(A) ans = 1 0 -1 0 1 2 0 0 0 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 65 06/05/2013 Hạng của ma trận Cú pháp: >>rank(A) Ví dụ: >>rank(A) ans = 2 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 2 3 4 5 6 7 8 9 66 06/05/2013 Giải phương trình ma trận AX=B Cú pháp: A\B=A-1B Hoặc mldivide(A,B) Hoặc linsolve(A,B,opts) opts: các tham số chỉ tính chất của ma trận A Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 67 06/05/2013 Giải phương trình ma trận AX=B (tt.) Ví dụ: Giải hệ >>X=linsolve(A,B) X = 10.0000 9.0000 6.0000 Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) A = 1 5 -7 -2 3 -1 1 2 -4 B = 13 1 4 5 7 13 2 3 1 2 4 4 0 a b c a b c a b c + − = − + − =  + − − = 68 06/05/2013 Giải phương trình ma trận XA=B Cú pháp: A/B Hoặc mrdivide(A,B) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) 69 06/05/2013 Phép cộng, nhân giữa một số và một ma trận Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Ví dụ: A=[1 2;3 4] >>A+3 A = 4 5 6 7 >>A*2 A = 2 4 6 8 70 06/05/2013 Các phép biến đổi sơ cấp Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Biến dòng (cột) i thành k lần dòng (cột) i: A(i,:) = A(i,:) * k A(:,i) = A(:,i) *k Biến dòng (cột) i thành dòng (cột) i cộng k lần dòng (cột) j: A(i,:) = A(i,:) + A(j,:) * k A(:,i) = A(:,i) + A(:,j) * k 71 06/05/2013 Các phép biến đổi sơ cấp (tt.) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) Hoán vị dòng (cột) i và dòng (cột) j: A = A([thứ tự dòng],:) A = A(:,[thứ tự cột]) 72 06/05/2013 Các phép biến đổi sơ cấp (tt.) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Ví dụ: A=[2 4;3 8;6 7] Biến dòng 1 thành 10 lần dòng 1: >>A(1,:) = A(1,:) * 10 A = 20 40 3 8 6 7 73 06/05/2013 Các phép biến đổi sơ cấp (tt.) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Ví dụ (tt.): Biến dòng 2 thành dòng 2 cộng 3 lần dòng 3: >>A(2,:) = A(2,:) + A(3,:) * 3 A = 20 40 21 29 6 7 74 06/05/2013 Các phép biến đổi sơ cấp (tt.) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Ví dụ (tt.): Hoán vị dòng 2 và dòng 3: >>A = A([1 3 2],:) A = 20 40 6 7 21 29 75 06/05/2013 Đa thức đặc trưng, giá trị riêng, vector riêng Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)  Cú pháp: Đa thức đặc trưng >>p = poly(A) Tính nghiệm của đa thức đặc trưng >>roots(p) Giá trị riêng, vector riêng >>[V, D] = eig(A) 76 06/05/2013 Đa thức đặc trưng, giá trị riêng, vector riêng (tt.) Lập trình tính toá