Chương 2
Thực hành tính toán
trên Matlab
2 13/03/2014
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 13/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 13/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 13/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 13/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)*2
1023
)
e
Nhân lũy thừa của 10
(5e2 = 5*10
2
= 500)
7 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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 13/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
4
n
n
∞
=
−
∏
23 13/03/2014
Cú pháp:
>>expand(expr)
Ví dụ: Khai triển (x + y)
4
>> expand((x+y)^4)
x
4
+ 4x
3
y + 6x
2
y
2
+ 4xy
3
+ y
4
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 13/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=x
3
-6x
2
+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 13/03/2014
Cú pháp:
>>simplify(expr)
>>simple(expr)
Ví dụ: Đơn giản biểu thức
cos
5
(x) + sin
4
(x) + 2cos
2
(x) – 2sin
2
(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