SlideShare a Scribd company logo
Chương 2
Thực hành tính toán
trên Matlab
213/03/2014
Phép toán Mô tả
+ x+y
- x-y
* x*y
/ x/y
 xy = 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
313/03/2014
Độ ư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:
413/03/2014 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.
513/03/2014 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)
613/03/2014 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
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)
713/03/2014 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
813/03/2014
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
913/03/2014
 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.)
1013/03/2014
Phân tích một số ra tích các thừa số nguyên tố
 Cú pháp
>> factor(n)
 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.)
1113/03/2014
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.)
1213/03/2014
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.)
1313/03/2014
Dạng hiển thị số
>>format <kiểu>
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.)
1413/03/2014
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.)
1513/03/2014
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.)
1613/03/2014
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.)
1713/03/2014
Tính tổng (tt.)
Lập trình tính toán
∑= +
+10
1
2
1
1
x x
x
2.3 Tính toán số học và đại số (tt.)
1813/03/2014
Tính tổng (tt.)
Lập trình tính toán
∑
−
=
1
0
3
n
k
k
2.3 Tính toán số học và đại số (tt.)
1913/03/2014
Tính tổng (tt.)
Lập trình tính toán
2
1
1
k k
∞
=
∑
2.3 Tính toán số học và đại số (tt.)
2013/03/2014
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.)
2113/03/2014
Tính tích (tt.)
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
2213/03/2014
Tính tích (tt.)
Lập trình tính toán
2.3 Tính toán số học và đại số (tt.)
2
1
1
1
4n n
∞
=
 
− 
 
∏
2313/03/2014
 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.)
2413/03/2014
 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ử
2513/03/2014
 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
2613/03/2014 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.)
2713/03/2014
 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
2813/03/2014
 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ố
2913/03/2014
 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
3013/03/2014
 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.)
3113/03/2014 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.)
3213/03/2014
 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.)
3313/03/2014
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
3413/03/2014
 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.)
3513/03/2014
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.)
3613/03/2014
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.)
3713/03/2014
 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.)
3813/03/2014
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− +∫
3913/03/2014
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( ) 1x
e x dx
π
+ +∫
4013/03/2014
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
−
4113/03/2014
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.)
4213/03/2014
Đạ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.)
4313/03/2014
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.)
4413/03/2014
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 “,”
4513/03/2014
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.)
4613/03/2014
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.)
4713/03/2014
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.)
4813/03/2014
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.)
4913/03/2014
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.)
5013/03/2014
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.)
5113/03/2014
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.)
5213/03/2014
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
5313/03/2014
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
5413/03/2014
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
5513/03/2014
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
5613/03/2014
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
5713/03/2014
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.)
5813/03/2014
Đườ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.)
5913/03/2014
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
6013/03/2014
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
6113/03/2014
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
6213/03/2014
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
6313/03/2014
Đị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
6413/03/2014
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
6513/03/2014
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
6613/03/2014
Giải phương trình ma trận AX=B
 Cú pháp:
>> AB=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.)
6713/03/2014
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
+ − =

− + − =
 + − − =
6813/03/2014
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.)
6913/03/2014
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
7013/03/2014
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
7113/03/2014
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])
7213/03/2014
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
7313/03/2014
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
7413/03/2014
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
7513/03/2014
Đ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)
7613/03/2014
Đa thức đặc trưng, giá trị riêng, vector riêng (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 thức đặc trưng
>>p = poly(A)
p =
1.0000 -15.0000 -9.0000 0.0000
Tính nghiệm của đa thức đặc trưng
>>roots(p)
ans =
15.5777
-0.5777
0.0000
A =
1 2 3
4 5 6
7 8 9
7713/03/2014
Đa thức đặc trưng, giá trị riêng, vector riêng (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.):
Giá trị riêng, vector riêng
>>[V,D] = eig(A)
V =
0.2205 0.7502 0.4082
0.8238 -0.6597 -0.8165
0.5222 0.0453 0.4082
D =
15.5777 0 0
0 -0.5777 0
0 0 0.0000
Với giá trị riêng là 15.5777 ta có vector riêng tương ứng là [0.2205
0.8238 0.5222]
A =
1 2 3
4 5 6
7 8 9
7813/03/2014
Mảng (Array hoặc Vector)
 Khi không làm việc trên đại số tuyến tính, ma trận đơn
giản là một mảng hai chiều
 Các phép toán cộng, trừ không đổi giữa ma trận và mảng.
 Đối với phép nhân, Matlab dùng dấu chấm trước các phép
toán (mang tính nhân) trên mảng
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
7913/03/2014
Phép toán trên mảng một chiều (Vector)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Phép toán Ý nghĩa Kết quả
u.*v Nhân từng phần tử 0 2 -3 8
u./v Chia xuôi từng phần tử Inf 2 -3 2
u.v Chia ngược từng phần tử 0 0.5000 -0.3333 0.5000
u.^2 Lũy thừa từng phần tử 1 4 9 16
u.’ Chuyển thành vector cột
1
2
3
4
 Ví dụ: u=[1 2 3 4] v=[0 1 -1 2]
8013/03/2014
Phép toán trên mảng hai chiều (Array)
Lập trình tính toán
2.5 Tính toán trong đại số tuyến tính (tt.)
Phép toán Ý nghĩa Kết quả
A.*B Nhân từng phần tử [0 2;-3 8]
A./B Chia xuôi từng phần tử [Inf 2;-3 2]
A.B Chia ngược từng phần tử [0 0.5000;-0.3333 0.5000]
A.^2 Lũy thừa từng phần tử [1 4;9 16]
A.’
Ma trận chuyển vị
(giống A’)
[1 3;2 4]
 Ví dụ: A=[1 2;3 4] B=[0 1;-1 2]
8113/03/2014
Khai báo
Lập trình tính toán
2.6 Tập hợp
 Một tập hợp trong Matlab được khai báo bằng cách liệt kê
dưới dạng một vector (dòng hoặc cột)
 Ví dụ: Tập hợp a gồm 5 phần tử có thể khai báo như sau:
A = [1 4 8 9 10]
Hoặc A = [1,4,8,9,10]
Hoặc A = [1;4;8;9;10]
 Khai báo tập rỗng: A=[]
8213/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Tìm số phần tử: >> length(A)
 Ví dụ: Tập hợp A gồm 5 phần tử:
A = [1 4 8 9 10]
>> length(A)
5
8313/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Kiểm tra phần tử thuộc tập hợp: >> ismember(s,A)
 Ví dụ: Tập hợp A gồm 5 phần tử:
A = [1 4 8 9 10]
Kiểm tra 2 có thuộc A hay không:
>> ismember(s,A)
0
8413/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
8513/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Loại bỏ các phần tử trùng nhau: >> unique(A)
 Ví dụ: Tập hợp A gồm 5 phần tử:
A = [1 4 8 9 10]
>> unique(A) = A
B = [1 9 4 8 10 1 8 4 9 10]
>> unique(B)
[1 4 8 9 10]
8613/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Hội giữa hai tập hợp: >> union(A,B)
 Ví dụ:
A = [1 4 8 9 10]
B = [4 2 3 5]
>> union(A,B)
[1 2 3 4 5 8 9 10]
8713/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Giao giữa hai tập hợp: >> intersect(A,B)
 Ví dụ:
A = [1 4 8 9 10]
B = [4 2 3 5]
>> intersect(A,B)
4
8813/03/2014
Các phép toán (tt.)
Lập trình tính toán
2.6 Tập hợp (tt.)
 Hiệu giữa hai tập hợp: AB = setdiff(A,B)
 Ví dụ:
A = [1 4 8 9 10]
B = [4 2 3 5]
>> setdiff(A,B)
1 8 9 10

More Related Content

PDF
Giai phuong trinh vi phan bang bien doi laplace
PDF
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
PDF
250 bai tap_kt_dien_tu_0295
PPT
Đại số boolean và mạch logic
PDF
Chuyên đề Định luật Ohm tổng quát
PDF
30 bài toán phương pháp tính
PDF
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
 
PDF
Phương pháp Toán Lý (phương trình truyền nhiệt và phương trình Laplace)
Giai phuong trinh vi phan bang bien doi laplace
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
250 bai tap_kt_dien_tu_0295
Đại số boolean và mạch logic
Chuyên đề Định luật Ohm tổng quát
30 bài toán phương pháp tính
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
 
Phương pháp Toán Lý (phương trình truyền nhiệt và phương trình Laplace)

What's hot (20)

PDF
Bai tap
PDF
Bảng công thức tích phân + mũ lôga
PDF
Công thức vật lý lớp 11
DOC
đại số tuyến tính 2 ( không gian eculid )
PDF
Qua trinh qua do
PDF
Bai tap co loi giai dao hamieng_va_vi_phan
PDF
Chuong 04 mach logic
PDF
Công thức tính nhanh điện xoay chiều
PDF
Cac lenh trong matlab
DOC
Chuong 4.1 tin hieu va pho
PDF
Tài liệu tham khảo trường điện từ
PDF
Giai nhanh phuong phap tinh
PPT
phương pháp hình thang,Công thức Simpson
PDF
Tích phân-4-Phương pháp nguyên hàm_tích phân từng phần-pages-45-58
PPTX
chuong 4. dai so boole
PDF
Ngân hàng đề môn điện tử số kỹ thuật số ( có đáp án) 4797768
PDF
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
PDF
Hinh hoc so cap va thuc hanh giai toan
DOCX
12.ma trận và dịnh thức
Bai tap
Bảng công thức tích phân + mũ lôga
Công thức vật lý lớp 11
đại số tuyến tính 2 ( không gian eculid )
Qua trinh qua do
Bai tap co loi giai dao hamieng_va_vi_phan
Chuong 04 mach logic
Công thức tính nhanh điện xoay chiều
Cac lenh trong matlab
Chuong 4.1 tin hieu va pho
Tài liệu tham khảo trường điện từ
Giai nhanh phuong phap tinh
phương pháp hình thang,Công thức Simpson
Tích phân-4-Phương pháp nguyên hàm_tích phân từng phần-pages-45-58
chuong 4. dai so boole
Ngân hàng đề môn điện tử số kỹ thuật số ( có đáp án) 4797768
Bai Tap Hinh Hoc Vi Phan (CoLoiGiai)
Hinh hoc so cap va thuc hanh giai toan
12.ma trận và dịnh thức
Ad

Viewers also liked (20)

DOCX
Bài tập thực hành số 1
PDF
Lttt matlab chuong 4
PDF
Lttt matlab chuong 3
PDF
Lttt matlab chuong 5
PDF
Vi du chi tiet giai thich lap trinh gui trong matlab
PDF
Cach su dung matlab
PDF
PPT
Ch3 ma tran
DOC
Matlab toan tap
PPT
01 ma tran
PDF
tieu chuan Eurocode
PPTX
Kỹ thuật thi công thi công Top-base
PDF
Lttt matlab chuong 1
PPT
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 2 MA TRẬN TỔNG TRỞ
PDF
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNG
PDF
Co ban ve_matlab
DOC
Tài liệu Matlab kỹ thuật
DOC
Xu ly anh
PDF
Hướng dẫn thiết kế cấu kiện Ứng suất trước
PDF
Xử lý ảnh
Bài tập thực hành số 1
Lttt matlab chuong 4
Lttt matlab chuong 3
Lttt matlab chuong 5
Vi du chi tiet giai thich lap trinh gui trong matlab
Cach su dung matlab
Ch3 ma tran
Matlab toan tap
01 ma tran
tieu chuan Eurocode
Kỹ thuật thi công thi công Top-base
Lttt matlab chuong 1
GIAI TICH HE THONG DIEN NANG CAO - CHƯƠNG 2 MA TRẬN TỔNG TRỞ
CHƯƠNG 1 ĐẠI SỐ MA TRẬN ỨNG DỤNG TRONG GIẢI TÍCH MẠNG
Co ban ve_matlab
Tài liệu Matlab kỹ thuật
Xu ly anh
Hướng dẫn thiết kế cấu kiện Ứng suất trước
Xử lý ảnh
Ad

Similar to Lttt matlab chuong 2 (20)

PDF
Tai lieuthuchanh lab_book
PDF
Lap trinh matlab_co_ban_1731
PDF
matlab co ban
PDF
giao-trinh-phuong-phap-tinh-va-matlab-ly-thuyet-bai-tap-va-chuong-trinh-minh-...
PDF
Lttt matlab bt1
PDF
huong dan_su_dung_maple
PDF
Help maple 20000x
PDF
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
PPT
Sử dụng máy tính
PDF
Tính toán khoa học - Chương 0: Introduction
PDF
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
PDF
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
PDF
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
PDF
Dãy số và giới hạn
PDF
Tính toán khoa học - Chương 1: Nhập môn Matlab
PPT
Gtga trị
DOC
Kiến thức cơ bản
PPT
Bai toan va thuat toan
PPT
Thuchanh Ktdk-matlab
Tai lieuthuchanh lab_book
Lap trinh matlab_co_ban_1731
matlab co ban
giao-trinh-phuong-phap-tinh-va-matlab-ly-thuyet-bai-tap-va-chuong-trinh-minh-...
Lttt matlab bt1
huong dan_su_dung_maple
Help maple 20000x
175 thuc-hanh-matlab-[dh-khoa-hoc-tu-nhien-hcm]
Sử dụng máy tính
Tính toán khoa học - Chương 0: Introduction
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
2 matlab ly-thuyet_laptrinh_hamtoanhoc_
Dãy số và giới hạn
Tính toán khoa học - Chương 1: Nhập môn Matlab
Gtga trị
Kiến thức cơ bản
Bai toan va thuat toan
Thuchanh Ktdk-matlab

More from Hoa Cỏ May (20)

PDF
Baitap dongbo.bdf
PPT
Gt de quy_2
PPT
Gt de quy
PPT
Exception 3
PDF
Itp th de02
PDF
Ex chapter 7
PDF
Ex chapter 6
PDF
Ex chapter 5
PDF
Ex chapter 4
PDF
Ex chapter 3
PDF
Ex chapter 2
PDF
86227349 giao-trinh-lap-trinh-c
DOC
Bt word 3
DOC
Bt word 2
DOC
Bt word 1
DOC
Bai tapwindows 2
PPT
Bai tap ppt
PDF
Tai lieu 02_-_phieu_bai_tap_th07_
PDF
Phan phoi ct tin hoc thpt 2011 2012
PDF
Lecture05
Baitap dongbo.bdf
Gt de quy_2
Gt de quy
Exception 3
Itp th de02
Ex chapter 7
Ex chapter 6
Ex chapter 5
Ex chapter 4
Ex chapter 3
Ex chapter 2
86227349 giao-trinh-lap-trinh-c
Bt word 3
Bt word 2
Bt word 1
Bai tapwindows 2
Bai tap ppt
Tai lieu 02_-_phieu_bai_tap_th07_
Phan phoi ct tin hoc thpt 2011 2012
Lecture05

Lttt matlab chuong 2

  • 1. Chương 2 Thực hành tính toán trên Matlab
  • 2. 213/03/2014 Phép toán Mô tả + x+y - x-y * x*y / x/y xy = 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. 313/03/2014 Độ ư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. 413/03/2014 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. 513/03/2014 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. 613/03/2014 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 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)
  • 7. 713/03/2014 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. 813/03/2014 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. 913/03/2014  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. 1013/03/2014 Phân tích một số ra tích các thừa số nguyên tố  Cú pháp >> factor(n)  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. 1113/03/2014 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. 1213/03/2014 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. 1313/03/2014 Dạng hiển thị số >>format <kiểu> 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. 1413/03/2014 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. 1513/03/2014 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. 1613/03/2014 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. 1713/03/2014 Tính tổng (tt.) Lập trình tính toán ∑= + +10 1 2 1 1 x x x 2.3 Tính toán số học và đại số (tt.)
  • 18. 1813/03/2014 Tính tổng (tt.) Lập trình tính toán ∑ − = 1 0 3 n k k 2.3 Tính toán số học và đại số (tt.)
  • 19. 1913/03/2014 Tính tổng (tt.) Lập trình tính toán 2 1 1 k k ∞ = ∑ 2.3 Tính toán số học và đại số (tt.)
  • 20. 2013/03/2014 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. 2113/03/2014 Tính tích (tt.) 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. 2213/03/2014 Tính tích (tt.) Lập trình tính toán 2.3 Tính toán số học và đại số (tt.) 2 1 1 1 4n n ∞ =   −    ∏
  • 23. 2313/03/2014  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. 2413/03/2014  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. 2513/03/2014  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. 2613/03/2014 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.)
  • 27. 2713/03/2014  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. 2813/03/2014  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. 2913/03/2014  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. 3013/03/2014  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. 3113/03/2014 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.)
  • 32. 3213/03/2014  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. 3313/03/2014 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. 3413/03/2014  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. 3513/03/2014 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. 3613/03/2014 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.)
  • 37. 3713/03/2014  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. 3813/03/2014 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. 3913/03/2014 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( ) 1x e x dx π + +∫
  • 40. 4013/03/2014 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. 4113/03/2014 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. 4213/03/2014 Đạ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. 4313/03/2014 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. 4413/03/2014 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. 4513/03/2014 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. 4613/03/2014 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. 4713/03/2014 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. 4813/03/2014 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. 4913/03/2014 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. 5013/03/2014 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. 5113/03/2014 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. 5213/03/2014 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. 5313/03/2014 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. 5413/03/2014 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. 5513/03/2014 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. 5613/03/2014 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. 5713/03/2014 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. 5813/03/2014 Đườ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. 5913/03/2014 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. 6013/03/2014 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. 6113/03/2014 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. 6213/03/2014 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. 6313/03/2014 Đị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. 6413/03/2014 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. 6513/03/2014 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. 6613/03/2014 Giải phương trình ma trận AX=B  Cú pháp: >> AB=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. 6713/03/2014 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. 6813/03/2014 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. 6913/03/2014 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. 7013/03/2014 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. 7113/03/2014 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. 7213/03/2014 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. 7313/03/2014 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. 7413/03/2014 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. 7513/03/2014 Đ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. 7613/03/2014 Đa thức đặc trưng, giá trị riêng, vector riêng (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 thức đặc trưng >>p = poly(A) p = 1.0000 -15.0000 -9.0000 0.0000 Tính nghiệm của đa thức đặc trưng >>roots(p) ans = 15.5777 -0.5777 0.0000 A = 1 2 3 4 5 6 7 8 9
  • 77. 7713/03/2014 Đa thức đặc trưng, giá trị riêng, vector riêng (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.): Giá trị riêng, vector riêng >>[V,D] = eig(A) V = 0.2205 0.7502 0.4082 0.8238 -0.6597 -0.8165 0.5222 0.0453 0.4082 D = 15.5777 0 0 0 -0.5777 0 0 0 0.0000 Với giá trị riêng là 15.5777 ta có vector riêng tương ứng là [0.2205 0.8238 0.5222] A = 1 2 3 4 5 6 7 8 9
  • 78. 7813/03/2014 Mảng (Array hoặc Vector)  Khi không làm việc trên đại số tuyến tính, ma trận đơn giản là một mảng hai chiều  Các phép toán cộng, trừ không đổi giữa ma trận và mảng.  Đối với phép nhân, Matlab dùng dấu chấm trước các phép toán (mang tính nhân) trên mảng Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.)
  • 79. 7913/03/2014 Phép toán trên mảng một chiều (Vector) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) Phép toán Ý nghĩa Kết quả u.*v Nhân từng phần tử 0 2 -3 8 u./v Chia xuôi từng phần tử Inf 2 -3 2 u.v Chia ngược từng phần tử 0 0.5000 -0.3333 0.5000 u.^2 Lũy thừa từng phần tử 1 4 9 16 u.’ Chuyển thành vector cột 1 2 3 4  Ví dụ: u=[1 2 3 4] v=[0 1 -1 2]
  • 80. 8013/03/2014 Phép toán trên mảng hai chiều (Array) Lập trình tính toán 2.5 Tính toán trong đại số tuyến tính (tt.) Phép toán Ý nghĩa Kết quả A.*B Nhân từng phần tử [0 2;-3 8] A./B Chia xuôi từng phần tử [Inf 2;-3 2] A.B Chia ngược từng phần tử [0 0.5000;-0.3333 0.5000] A.^2 Lũy thừa từng phần tử [1 4;9 16] A.’ Ma trận chuyển vị (giống A’) [1 3;2 4]  Ví dụ: A=[1 2;3 4] B=[0 1;-1 2]
  • 81. 8113/03/2014 Khai báo Lập trình tính toán 2.6 Tập hợp  Một tập hợp trong Matlab được khai báo bằng cách liệt kê dưới dạng một vector (dòng hoặc cột)  Ví dụ: Tập hợp a gồm 5 phần tử có thể khai báo như sau: A = [1 4 8 9 10] Hoặc A = [1,4,8,9,10] Hoặc A = [1;4;8;9;10]  Khai báo tập rỗng: A=[]
  • 82. 8213/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Tìm số phần tử: >> length(A)  Ví dụ: Tập hợp A gồm 5 phần tử: A = [1 4 8 9 10] >> length(A) 5
  • 83. 8313/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Kiểm tra phần tử thuộc tập hợp: >> ismember(s,A)  Ví dụ: Tập hợp A gồm 5 phần tử: A = [1 4 8 9 10] Kiểm tra 2 có thuộc A hay không: >> ismember(s,A) 0
  • 84. 8413/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)
  • 85. 8513/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Loại bỏ các phần tử trùng nhau: >> unique(A)  Ví dụ: Tập hợp A gồm 5 phần tử: A = [1 4 8 9 10] >> unique(A) = A B = [1 9 4 8 10 1 8 4 9 10] >> unique(B) [1 4 8 9 10]
  • 86. 8613/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Hội giữa hai tập hợp: >> union(A,B)  Ví dụ: A = [1 4 8 9 10] B = [4 2 3 5] >> union(A,B) [1 2 3 4 5 8 9 10]
  • 87. 8713/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Giao giữa hai tập hợp: >> intersect(A,B)  Ví dụ: A = [1 4 8 9 10] B = [4 2 3 5] >> intersect(A,B) 4
  • 88. 8813/03/2014 Các phép toán (tt.) Lập trình tính toán 2.6 Tập hợp (tt.)  Hiệu giữa hai tập hợp: AB = setdiff(A,B)  Ví dụ: A = [1 4 8 9 10] B = [4 2 3 5] >> setdiff(A,B) 1 8 9 10