1

BÀI TẬP THỰC HÀH MATLAB
1. Làm quen Matlab
1.1 Tính bằng tay các biểu thức sau, rồi thử lại bằng Matlab:
a. 2 / 2 * 3
b. 6 – 2 / 5 + 7 ^ 2 – 1
c. 10 / 2 \ 5 – 3 + 2 * 4
d. 3 ^ 2 / 4
e. 3 ^ 2 ^ 2
f. 2 + round(6 / 9 + 3 * 2) / 2 – 3
g. 2 + floor(6 / 9 + 3 * 2) / 2 – 3
h. 2 + ceil(6 / 9 + 3 * 2) / 2 – 3
k. fix(4/9)+fix(3*(5/6))
1.2 Dự đoán kết quả xuất ra màn hình:
a. 2 ; 4
b. 2 / 4
c. 2 \ 4
d. 2 , 4
e. 2 : 4
1.3 Cho x = 2, y = 3. Dự đoán lần lượt các kết quả tiếp theo:
z = x
y = y +z
x = y + x – z
x + y – z
1.4 Tạo một số ngẫu nhiên có giá trị từ 0 đến 1
------------------//--------------------- 0 đến 100
------------------//--------------------- n đến m (n<m) ( n,m nhập vào)
1.5 Cho a =36 b =15. Tính bằng tay các biểu thức sau, rồi thử lại bằng Matlab
a. mod(a,b)
b. rem(a,b)
c. gcd(a,b)
d. lcm(a,b)

2. Vector
2.1 Tạo một vector chứa các số nguyên từ 31 đến 75.
Tạo một vector có 10 phần tử có giá trị nguyên được lấy ngẫu nhiên trong khoảng [0, 100]
Tạo một vector có 10 phần tử có giá trị nguyên được lấy ngẫu nhiên trong khoảng [-20 ,10]


2.2 Cho x = [3 1 5 7 9 2 6], dự đoán kết quả các dòng lệnh sau và thử lại bằng Matlab:
a. x(3)
b. x(1:7)
c. x(1:end)
2

d. x(1:end-1)
e. x(6:-2:1)
f. x([1 6 2 1 1])
g. sum(x)
2.3 Cho x = [2 5 1 6].
a. Cộng thêm 16 vào tất cả các phần tử.
b. Cộng thêm 3 vào các phần tử ở vị trí lẻ.
c. Lấy căn bậc 2 tất cả các phần tử.
d. Bình phương tất cả các phần tử.
2.4 Cho x, y lần lượt là các vector cột. x = [3 2 6 8]’, y = [4 1 3 5]’.
a. Lấy tổng các phần tử của x cộng thêm vào từng phần tử của y.
b. Luỹ thừa mỗi phần tử của x với số mũ tương ứng là các phần tử của y.
c. Chia các phần tử của y với các phần tử tương ứng của x.
d. Nhân các phần tử của x với các phần tử tương ứng của y, đặt trong vector z.
e. Tính tổng các phần tử của z, gán cho w.
f. Tính x.* y – w.
g.Tích vô hướng của x và y
Lưu ý: x’ là ma trận chuyển vị của x
2.5 Tạo các vector x sau
a. [2, 4, 6, 8, …..2n]
b. [10, 8, 6, 4, 2, 0, -2, -4.........-2n]
c. [1, 1/2, 1/3, 1/4, 1/5, …..1/n]
d. [0, 1/2 2/3, 3/4, 4/5, …....(n-1)/n]
Lưu ý: nhập vào giá trị n
2.6 Tạo vector x với các phần tử là x
n
= (-1)
n+1
/(2n - 1). Tính tổng 100 phần tử đầu tiên của x.

3. Ma trận
3.1 Cho x = [1 4 8], y = [2 1 5] và A = [3 1 6 ; 5 2 7]. Xét xem dòng lệnh nào hợp lệ, dự đoán kết quả,
giải thích; rồi thử lại bằng Matlab :
a. x + y
b. x + A
c. x’ + y
d. A – [x’ y’]
e. [x ; y’]
f. [x ; y]
g. A – 3


3.2 Cho A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5], dự đoán kết quả, giải thích; rồi thử lại bằng Matlab:
a. A’
b. A(:,[1 4])
c. A([2 3], [3 1])
d. reshape(A, 2, 6)
3

e. A(:)
f. flipud(A)
g. fliplr(A)
h. [A; A(end,:)]
i. A(1:3,:)
j. [A; A(1:2, :)]
k. sum(A)
l. sum(A’)
m. sum(A, 2)
n. [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ]

3.3 Cho ma trận A = [2 4 1 ; 6 7 2 ; 3 5 9], viết lệnh Matlab để
a. Gán cho vector x là dòng thứ nhất của A.
b. Gán cho ma trận y là hai dòng còn lại (cuối) của A.
c. Tính tổng theo dòng ma trận A.
d. Tính tổng theo cột ma trận A.
e. Tìm giá trị lớn nhất và nhỏ nhất của ma trận.
f. Tính tổng các phần tử của A

3.4 Hãy tạo ra ma trận 4x4 có giá trị nguyên nằm trong khoảng [-10,10] , Sau đó:
a. Cộng mỗi phần tử của ma trận cho 15
b. Bình phương mỗi phần tử của ma trận
c. Cộng thêm 10 vào các phần tử ở dòng 1 và dòng 2
d. Cộng thêm 10 vào các phần tử ở cột 1 và cột 4

3.5 Cho vectơ x=[2 4 1 6], y=[5 9 1 0]. Hãy tạo ra ma trận
a. 4x6 toàn là số 0,b. 4x5 toàn là số 1, ma trận đơn vị 5x5
b. B có tính chất: dòng 1 và 4 có giá trị là vectơ x, dòng 2 và 3 có giá trị là vectơ y
c. C có tính chất: cột 1 và 3 có giá trị là vectơ x, cột 2 và 4 có giá trị là vectơ y

3.6 Cho A = [2 7 9 7 ; 3 1 5 6 ; 8 1 2 5; 1 2 3 5], viết lệnh Matlab để
a. Gán cho ma trận B là các cột ở vị trí chẵn
b. Gán cho ma trận C là các dòng ở vị trí lẻ
c. Gán lại A thành chuyển vị của nó
d. Tính nghịch đảo mọi phần tử của A
e. Lấy căn bậc hai mọi phần tử của A


3.7 Giải các hệ phương trình tuyến tính sau:
4

1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
2 5 5
3 4 1
3 6 2 8
2 2 2 3 2
x x x x
x x x x
x x x x
x x x x
+ + + = ¦
¦
+ − − = −
¦
´
+ − + =
¦
¦
+ + − =
¹

1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
2
2 3 4 2
2 3 5 9 2
2 7 2
x x x x
x x x x
x x x x
x x x x
+ + + = ¦
¦
+ + + =
¦
´
+ + + =
¦
¦
+ + + =
¹

4. Vẽ đồ thị
4.1 Vẽ đồ thị hàm số x, x
3
, e
x
và e^(x
2
) với 0 < x < 4.
4.2 Vẽ đường thẳng nối các điểm (0,1); (4,3); (2,0) và (5,-2) lại với nhau.

4.3 Vẽ đồ thị hàm số f(x) = sin(1/x) với 0.01 < x < 0.1.

4.4 Vẽ lại đồ thị hàm số e
x
(0 < x < 4) nhưng với đường đứt nét, màu đỏ và dấu (marker) là dấu +.

4.5 Vẽ lại đồ thị hàm số e^(x
2
) (0 < x < 4) nhưng với đường gạch chấm, màu xanh và dấu (marker)
là hình tam giác hướng lên trên. (Thử lại với các tham số khác (Màu sắc, kiểu đường, dấu))
4.6 Vẽ đồ thị hàm số
4
( ) , - 5 5
1
x
f x x
x
= ≤ ≤
+
với:
Kiểu đường là nét gạch chấm, độ rộng 2pt, màu đỏ thẫm.
Dấu (marker) là hình tròn, độ rộng 6pt, màu tô của dấu là xanh, màu đường viền là đen.

4.7 Vẽ hai hàm
2
y x = và s n3x y i = trên cùng một đồ thị.

4.8 Vẽ hai hàm số sin( ), 0 20 f x x x = ≤ ≤ và 50 , 20 25 g x x = ≤ ≤ trên 2 hệ trục tọa độ khác nhau.

4.9 Vẽ đường tròn có tâm O(0,0) bán kính bằng 3. Định tọa độ cho trục Ox và Oy là từ -6 đến 6. Tạo
đường lưới trên hình vẽ và thử lại với các lệnh axis normal/square/equal/tight.

4.10 Vẽ đồ thị hàm số y = cos(t) trong khoảng 0 < t < 2pi, chia lại các giá trị trên trục 0x cách đều
nhau một khoảng là pi/4. Ghi nhãn cho các giá trị tương ứng là 0, pi/4, pi/2, 3pi/4, …, 2pi. Chia trục
Oy thành 3 khoảng là -1, 0, 1.

4.11 Vẽ đồ thị hàm số
0.05
2 sin
( )
2 os
4
t
t
x t e
t
c

+
=
| |

|
\ ¹
với 0 < t< 30. Ghi chú thích cho trục Ox là ‘t (thoi
gian’), Oy là ‘Ham so x(t)’ và tựa đề cho đồ thị.



4.12 Vẽ đồ thị hàm số
0.35
( ) 2 3sin( 10)
t
x t t e π

= + + , với -5< t < 5. Định giá trị cho trục Ox là từ -20
đến 20 và Oy từ -6 đến 6. Ghi chú thích cho trục Oy là ‘x(t)’; trục Ox là ‘thoi gian t(giay)’; tựa đề của
đồ thị là ‘ham so x(t)’. Dùng lệnh text để viết phương trình của đồ thị trên một điểm của đồ thị.

5

4.13 a. Vẽ đồ thị của hai hàm số ( ) (1 sin( ) f x x x π = + và
/ 2
5
( )
3 2cos(2 )
x
e
g x
x π

=

trong cùng một hệ
trục, đồ thị của hàm g(x) là đườn đứt nét, dấu là ‘+’.
b. Vẽ đồ thị f(x), f(x) + g(x), f(x)*g(x), f(x)/g(x) trong cùng một cửa sổ hình vẽ.
Các đồ thị được vẽ với 0 4 x ≤ ≤ . Ghi các chú thích rõ ràng trên từng đồ thị.

4.14 Vẽ đồ thị hàm số x
3
, e
x
và e^(x
2
) với 0 < x < 4 trong cùng một cửa sổ hình vẽ.

4.15 Vẽ đồ thị hàm số
2 2
10
2 2
sin
( , ) , =1 10
x y
z x y
x y
ε
ε
ε

+ +
= ×
+ +
với 10 10 x − ≤ ≤ và 10 10 y − ≤ ≤ . Ghi
chú thích cho đồ thị.

4.16 Vẽ đồ thị hàm số
2 2
( , )
x y
z x y e
− −
= với -2 < x < 2 và -2 < y < 2.

4.17 Cho ma trận
5 2 1
8 7 3
9 8 6
A
(
(
=
(
(
¸ ¸
. Vẽ đồ thị cột biểu diễn ma trận trên. Ghi chú thích.

4.18 Trong một báo cáo thị trường đồ uống ở một khu vực của Tp HCM cho biết có 850 người uống
coca, 720 uống pepsi, và 600 uống nước tinh khiết, còn lại 320 sử dụng các loại khác. Hãy vẽ biểu đồ
quạt để minh họa số liệu trên.

5. BIỂU THỨC LOGIC
5.1 Cho x = [1 5 2 8 9 0 1] và y = [5 2 2 6 0 0 2], giải thích kết quả các dòng lệnh sau:
a. x > y
b. y < x
c. x == y
d. x <= y
e. y >= x
f. x | y
g. x & y
h. x & (-y)
i. (x > y) | (y < x)
j. (x > y) & (y < x)


5.2 Cho x = 1:10 và y = [3 1 5 6 8 2 9 4 7 0], dự đoán kết quả, giải thích và thử lại bằng Matlab:
a. (x > 3) & (x < 8)
b. x(x > 5)
c. y(x <= 4)
d. x( (x < 2) | (x >= 8) )
e. y( (x < 2) | (x >= 8) )
6

f. x(y < 0)

5.3 Dự đoán kết quả những câu sau, giải thích và kiểm tra lại bằng Matlab :
a. 1 & -1
b. 13 & (-6)
c. 0 < -2|0
d. 0 <= 0.2 <= 0.4
e. 5 > 4 > 3
f. 2 > 3 & 1
5.4 Cho 2 vectơ a = [1 0 2] và b = [0 2 2], xác định giá trị các biểu thức sau. Kiểm tra lại bằng
Matlab :
a. a = b
b. a < b
c. a < b < a
d. a < b < b
e. a | ( a)
f. b & ( b)
g. a ( ( b))
h. a= b==a (Xác định giá trị cuối của a)
Từ BT 5.5 này, ta đã có một kỹ thuật trích các giá trị của một vector theo chỉ số là một biểu thức
logic, hay nói gọn hơn là chỉ số logic.
5.5 Cho ma trận
1 2 8 9
5 6 0 25
1 11 3 7
0 4 3 2
X
− (
(
(
=
( −
(

¸ ¸
, tìm:
a. Những phần tử dương của ma trận.
b. Những phần tử âm của ma trận.
c. Tổng các phần tử lẻ của ma trận.
d. Giá trị lớn nhất các phần tử chẵn của ma trận.
e. Gán những phần tử bằng 0 thành 1.
5.6 Cho x = [3 15 9 12 -1 0 -12 9 6 1], viết lệnh thực hiện:
a. Chuyển các giá trị dương thành giá trị 0.
b. Chuyển các bội số của 3 thành số 3.
c. Nhân các giá trị chẵn cho 5.
d. Gán cho vector y các giá trị lớn hơn 10 của x.
e. Chuyển các giá trị nhỏ hơn trung bình cộng thành giá trị 0.
7


5.7 Tạo vector x = randperm(35). Viết các lệnh để tính giá trị hàm sau sử dụng chỉ số logic:
y(x) = 2 nếu x < 6
= x - 4 nếu 6 <= x < 20
= 36 - x nếu 20 <= x <= 35
Thử lại kết quả bằng cách vẽ đồ thị hàm số này qua một số dòng lệnh.
5.8 Tính
sin( ) t
x
t
= , với –pi/2 < t < pi/2. Làm thế nào để loại bỏ cảnh báo khi t = 0? Vẽ đồ thị của
hàm này sau khi xử lý giá trị t = 0. Gợi ý: sử dụng toán tử logic và hàm xấp xỉ eps.

6. CÂU LỆH IF
Dự đoán kết quả và thử lại bằng Matlab:
6.1 if n > 1 a. n = 7 m = ?
m = n+1 b. n = 0 m = ?
else c. n = -10 m = ?
m = n – 1
end

6.2 if z < 5 a. z = 1 w = ?
w = 2*z b. z = 9 w = ?
elseif z < 10 c. z = 60 w = ?
w = 9 - z d. z = 200 w = ?
elseif z < 100
w = sqrt(z)
else
w = z
end

6.3 if T < 30 a. T = 50 h = ?
h = 2*T + 1 b. T = 15 h = ?
elseif T < 10 c. T = 0 h = ?
h = T – 2
else
h = 0
end

6.4 if 0 < x < 10 a. x = -1 y = ?
y = 4*x b. x = 5 y = ?
elseif 10 < x < 40 c. x = 30 y = ?
y = 10*x d. x = 100 y = ?
else
y = 500
end
8


Viết các script để tính các hàm sau:
6.5 h(T) = T - 10 khi 0 < T < 100
= 0.45 T + 900 khi T > 100
Thử các trường hợp: a. T = 5.
b. T = 110.

6.6 f(x) = -1 nếu x < 0
= 0 nếu x = 0
= 1 nếu x > 0
So sánh với hàm sign của MATLAB.

6.7 t(y) = 200 khi y <= 10,000
= 200 + 0.1 (y - 10,000) khi 10,000 < y <= 20,000
= 1,200 + 0.15 (y - 20,000) khi 20,000 < y <= 50,000
= 5,700 + 0.25 (y - 50,000) khi 50,000 < y
Thử các trường hợp: a. y = 5,000
b. y = 17,000
c. y = 25,000
d. y = 75,000

7. VÒG LẶP
7.1 Cho vector x = [1 8 3 9 0 1], viết các dòng lệnh để
a. Tính tổng tất cả các phần tử. (So sánh kết quả với lệnh sum.)
b. Viết hàm tính tổng dãy con từ 1 đến j. (So sánh kết quả với lệnh cumsum.)

7.2 Hãy viết hàm tính tổ hợp n chập r theo công thức sau
!
!( )!
n
n
r r n r
| |
=
|

\ ¹
.

7.3 Tạo ma trận M x N các số ngẫu nhiên (dùng lệnh rand). Chuyển các giá trị nhỏ hơn 0.2 thành 0,
các giá trị lớn hơn hay bằng 0.2 thành 1.

7.4 Tạo một vec tơ ngẫu nhiên gồm 1.000.000 phần tử tính tổng bình phương các phần tử sử dụng 2
cách:
i) Dùng phép toán trên ma trận.
ii) Vòng lặp for.
Đo thời gian chạy giữa 2 cách bằng cách sử dụng cặp lệnh tic ... toc. Ví dụ, ta muốn đo thời gian tính
hàm x = sin(t) với thì dùng: tic x = sin(t) toc.
9


7.5 Tạo một vec tơ có giá trị nguyên gồm 100.000 phần tử trong khoảng [0,100], tìm tất cả những
phần tử chia hết cho 3 bằng 2 cách:
i) Dùng phép toán trên ma trận.
ii) Dùng for và if.
Đo thời gian chạy giữa 2 cách.

7.6 Cho x = [4 1 6] và y = [6 2 7], tính các mảng/vector/ma trận sau
a. a
ij
= x
i
y
j
b. b
ij
= x
i
/y
j
c. c
i
= x
i
y
i
, tính tổng các phần tử của c.
d. d
ij
= x
i
/(2 + x
i
+ y
j
)

7.7 Cho một vectơ bất kỳ, ví dụ x = [-4 0 5 -3 0 3 7 -1 6], viết script để đếm xem trong vec tơ có bao
nhiêu giá trị âm, bao nhiêu giá trị dương, và bao nhiêu giá trị bằng 0.

7.8 Viết script để tính trong một vector các số ngẫu nhiên (sử dụng lệnh rand):
a. Có bao nhiêu phần tử đứng trước một phần tử có giá trị nằm trong khoảng 0.8 đến 0.85.
b. Có bao nhiêu phần tử trong khoảng [0.01, 0.5] đứng trước giá trị trung bình của vector đó.
(Dự đoán kết quả trước khi thực thi lệnh.)

7.9 Viết một script yêu cầu nhập một nhiệt độ Fahrenheit rồi chuyển sang độ Celcius tương ứng.
Script vẫn chạy đến khi không nhập nhiệt độ nữa thì thôi. [Sử dụng hàm isempty.]

7.10 Giả sử ta đầu tư vào một quỹ tín dụng một số tiền ban đầu là a, số tiền sinh lời hàng năm là 10%
số tiền vốn tích lũy. Hãy tính số năm khi mà lợi nhuận thu được gấp đôi tiền vốn ban đầu.



8. LẬP TRÌH
8.1 Đơn giá tính tiền điện trong tháng của công ty điện lực đối với hộ gia đình như sau:
• Nếu lượng điện sử dụng <= 100 KW thì tính 550 đ / 1KW.
• Nếu sử dụng <= 200 KW thì 100KW đầu được tính theo đơn giá như trên, từ 101 trở đi là
1.200 đ / 1KW.
• Từ 201 đến 300 KW được tính là 1.800 đ / 1KW.
• Trên 300 KW thì 2.000 đ / 1KW.
10

Tổng số tiền mà một hộ gia đình phải trả là tổng số tiền sử dụng điện + 10% thuế VAT.
Lượng điện sử dụng trong tháng của 3 hộ gia đình trong 1 khu dân cư lần lượt là 120, 320, 480 KW.
Hãy viết hàm để tính số tiền các gia đình này phải trả.

8.2 Viết hàm vẽ đồ thị của hàm số sau:
2
1
, 2
2
( ) 2 , 2 4
6 , 4
x x
f x x
x x
¦

¦
¦
= < ≤
´
¦
− >
¦
¹

với 0 6 x ≤ ≤ .

8.3 Viết hàm tính hàm mật độ của phân phối chuNn tại giá trị x với 2 tham số ∓ và :
( )
2
2
,
1
( )
2
x
f x e
µ
µ σ
σ
σ π
− −
=

Với tên hàm: v = gauss(x, mu, sigma)

8.4 Tính giá trị của số Pi sử dụng chuỗi
( ) ( )
2
2 2
1
8 1
16
2 1 2 1 n n n
π

=

=
− +


Giá trị của n cần đạt đến bao nhiêu để độ chính xác là 1e-12? Độ chính xác là bao nhiêu khi n = 100?

8.5 Dãy số Fibonacci có mối quan hệ sau: F
n
= F
n-1
+ F
n-2
, với F
0
= F
1
= 1.
a. Tính 10 số Fibonacci đầu tiên.
b. Trong 50 số Fibonacci đầu tiên, tính tỷ lệ F
n
/ F
n-1
. N hận xét gì các giá tỷ lệ này so với “tỷ lệ
vàng” ( (1 + sqrt(5))/2 ).



8.6 Đa thức Legendre (P
n
(x)) được định nghĩa qui nạp như sau
(n+1) P
n+1
(x) - (2n+1) P
n
(x) + n P
n-1
(x) = 0
Trong đó P
0
(x) = 1, P
1
(x) = x và P
2
(x) = (3x
2
- 1)/2. Tính 3 đa thức Legendre tiếp theo và vẽ 6 đa
thức này trong khoảng [-1,1].

8.7 Viết script yêu cầu nhập một số tự nhiên n, rồi dựa vào giá trị của nó thực hiện hoài việc chuyển
giá trị:
Trong khi n lớn hơn 1, thay giá trị của nó bằng n/2 nếu n chẵn và nếu n lẻ thì thay bằng (3*n+1).
11

Tính chiều dài dãy lặp lại.Ví dụ: n =10, dãy số là 5, 16, 8, 4, 2, 1, do đó chiều dài dãy là 6.
Vẽ đồ thị mô tả chiều dài l dãy lặp lại ứng với các giá trị của n từ 2 đến 30. Ví dụ khi n = 10, l =
6; khi n = 15, l = 17… Có nhận xét gì?

8.8 Viết hàm tính tích dãy con bắt đầu từ phần tử đầu tiên của một vector. Cho vector x, tích dãy con
thứ j bằng p
j
= (x
1
)(x
2
) ... (x
j
) với j chạy từ 1 đến chiều dài l của vector x. Viết hàm bằng 2
cách:
a. Sử dụng vòng lặp for.
b. Sử dụng hàm sẵn có prod. So sánh kết quả với hàm cumprod.

8.9 Giống như bài 5.5, nhưng thay hàm tính tích bằng hàm tính tổng.
8.10 Viết hàm sinh ngẫu nhiên ma trận các số nguyên:
function A = randint(a,b,M,)
trong đó a và b là các chận dưới và chận trên, còn M và là kích thước của ma trận (số dòng, số
cột).
a. Thử lại với các dòng lệnh như sau:
x = randint(10,17,100000,1);
hist(x,10:17)
N hận xét biểu đồ mô tả.
b. Thử lại với các dòng lệnh như sau:
x = randint(-30,5,100000,1);
hist(x,-30:5)
x = randint(-45,-35,100000,1);
hist(x,-45:-35)
x = randint(7,-2,100000,1);
hist(x,-2:7)
xem lại điều kiện tham số cho đúng.
9. Bài tập Symbolic math
9.1 Cho vectơ u = [1 -10 29 -20], thực hiện:
a. Tạo đa thức
3 2
10 ( 2 ) 29 0 x f x x x − + − = với các hệ số lấy từ vectơ u. Tạo đa thức
2
( , ) ( ) 2 g f x y x y y = + + . Tính f(15), g(5,3).
b. Lấy đạo hàm và tích phân của f(x). Lấy đạo hàm và nguyên hàm theo x và y của g(x,y).
c. Phân tích f(x) thành các thừa số chung, rồi khai triển.
d. Giải phương trình f(x) = 0.


12

9.2 Tạo ma trận
sin( ) sin( )
cos2 sin2
a b a b
A
a b
+ −
(
=
(
¸ ¸

u v
B
v v u v
(
=
(
− +
¸ ¸
, thực hiện:
a. Tính C = A*B, A + B, A- B.
b. Tìm ma trận nghịch đảo, chuyển vị của A và B.
c. Khai triển ma trận C, tính lần lượt đạo hàm, nguyên hàm theo a và theo v ma trận C.
d. Tính A với 0,
2
a b
π
= = ; tính B với u = 3, v = cost.
9.3 Dùng biến symbolic, vẽ đồ thị
x
y e = , hàm f(x) ở câu 1.
9.4 Vẽ đường tròn tâm O bán kinh r = 2 bằng phương trình
sin
cos
x r t
y r t
=
¦
´
=
¹
.
9.5 Vẽ hình cầu tâm O bán kính 3 bằng phường trình
sin cos
sin sin
cos
x r
y r
z r
θ ϕ
θ ϕ
θ
=
¦
¦
=
´
¦
=
¹
.


9.6 Giải các hệ phương trình sau bằng biến symbolic:
a)
2 2 2
2
1
1
y z
x y
y z
x + + =
+ =
+ =
¦
¦
´
¦
¹
b)
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
2 5 5
3 4 1
3 6 2 8
2 2 2 3 2
x x x x
x x x x
x x x x
x x x x
+ + + = ¦
¦
+ − − = −
¦
´
+ − + =
¦
¦
+ + − =
¹

c) cos tan 0 x x + =
d)
3 2 2 3
( 1) 0 x a x a x a − − + − = tính nghiệm tại a = 0, a = 1.

6) 2 . y = [4 1 3 5]’. e. 8.. rồi thử lại bằng Matlab: a. c.(n-1)/n] Lưu ý: nhập vào giá trị n 2. [1. giải thích. Luỹ thừa mỗi phần tử của x với số mũ tương ứng là các phần tử của y.2 Cho A = [2 7 9 7 . Lấy căn bậc 2 tất cả các phần tử. y = [2 1 5] và A = [3 1 6 . 2. 1/4....1). Cộng thêm 3 vào các phần tử ở vị trí lẻ..4 Cho x.2n] b. A’ b. [2. d. [0. 5 2 7]. Chia các phần tử của y với các phần tử tương ứng của x. g. y lần lượt là các vector cột. [x . 3 1 5 6 . 1/2 2/3. gán cho w.d. x(6:-2:1) f. x(1:end-1) e. A – [x’ y’] e.. 0. y’] f. a.. Tính tổng 100 phần tử đầu tiên của x. Tính x. 1/5. x’ + y d. giải thích.. [x . -4. 2.1/n] d. …. Lấy tổng các phần tử của x cộng thêm vào từng phần tử của y. 4. Nhân các phần tử của x với các phần tử tương ứng của y. 6. y] g. c. [10. Xét xem dòng lệnh nào hợp lệ. b. [3 1]) d.* y – w. Ma trận 3. 3/4.[1 4]) c.3 Cho x = [2 5 1 6]. -2...6 Tạo vector x với các phần tử là xn = (-1)n+1/(2n . 8 1 2 5]. b.. reshape(A. x + A c. x = [3 2 6 8]’. dự đoán kết quả. Tính tổng các phần tử của z. A – 3 3. A([2 3]. rồi thử lại bằng Matlab : a.Tích vô hướng của x và y Lưu ý: x’ là ma trận chuyển vị của x 2. f. 6. 2. x + y b. 4. 1/3. ….. d.5 Tạo các vector x sau a. 8. x([1 6 2 1 1]) g. đặt trong vector z.. 1/2. Cộng thêm 16 vào tất cả các phần tử. a. 4/5.-2n] c. A(:.1 Cho x = [1 4 8]. Bình phương tất cả các phần tử. dự đoán kết quả. …. 3. sum(x) 2.

5 Cho vectơ x=[2 4 1 6]. Gán lại A thành chuyển vị của nó d. Sau đó: a. c. :)] k. Cộng thêm 10 vào các phần tử ở cột 1 và cột 4 3. e. sum(A(:)) ] ] 3. 3 1 5 6 .3 Cho ma trận A = [2 4 1 . C có tính chất: cột 1 và 3 có giá trị là vectơ x. Tìm giá trị lớn nhất và nhỏ nhất của ma trận. Tính tổng các phần tử của A 3. Tính nghịch đảo mọi phần tử của A e. 4x5 toàn là số 1. sum(A) ] [ sum(A.7 Giải các hệ phương trình tuyến tính sau: 3 . 6 7 2 .6 Cho A = [2 7 9 7 . ma trận đơn vị 5x5 b. Lấy căn bậc hai mọi phần tử của A 3. [A. [ [ A . Tính tổng theo dòng ma trận A. A(:) f. A(end. Bình phương mỗi phần tử của ma trận c. Cộng thêm 10 vào các phần tử ở dòng 1 và dòng 2 d. cột 2 và 4 có giá trị là vectơ y 3. Gán cho ma trận B là các cột ở vị trí chẵn b. viết lệnh Matlab để a. sum(A. d. dòng 2 và 3 có giá trị là vectơ y c.b. A(1:2. 2) n. Cộng mỗi phần tử của ma trận cho 15 b. Gán cho vector x là dòng thứ nhất của A.2) . Tính tổng theo cột ma trận A. 1 2 3 5]. 3 5 9]. viết lệnh Matlab để a. sum(A) l.:)] i. Gán cho ma trận y là hai dòng còn lại (cuối) của A. 4x6 toàn là số 0.10] . fliplr(A) h.:) j. flipud(A) g. [A. Hãy tạo ra ma trận a. B có tính chất: dòng 1 và 4 có giá trị là vectơ x.4 Hãy tạo ra ma trận 4x4 có giá trị nguyên nằm trong khoảng [-10. 8 1 2 5.e. sum(A’) m. f. A(1:3. y=[5 9 1 0]. Gán cho ma trận C là các dòng ở vị trí lẻ c. b.

4.3 Vẽ đồ thị hàm số f(x) = sin(1/x) với 0. …. 0 ≤ x ≤ 20 và g = 50 x. (2. chia lại các giá trị trên trục 0x cách đều nhau một khoảng là pi/4. 4.2 x1 + x2 + 5 x3 + x4 = 5   x1 + x2 − 3x3 − 4 x4 = −1  3x1 + 6 x2 − 2 x3 + x4 = 8 2 x1 + 2 x2 + 2 x3 − 3x4 = 2   x1 + x2 + x3 + x4 = 2  x + 2 x + 3x + 4 x = 2  1 2 3 4  2 x1 + 3x2 + 5 x3 + 9 x4 = 2  x1 + x2 + 2 x3 + 7 x4 = 2  4.1 Vẽ đồ thị hàm số x. . Tạo đường lưới trên hình vẽ và thử lại với các lệnh axis normal/square/equal/tight.4 Vẽ lại đồ thị hàm số ex (0 < x < 4) nhưng với đường đứt nét. 2pi.11 Vẽ đồ thị hàm số x (t ) = 4.9 Vẽ đường tròn có tâm O(0. Ghi nhãn cho các giá trị tương ứng là 0. màu đường viền là đen. 0. 4. Dấu (marker) là hình tròn.1.3). pi/4. Định tọa độ cho trục Ox và Oy là từ -6 đến 6.05t với 0 < t< 30. màu xanh và dấu (marker) là hình tam giác hướng lên trên.-2) lại với nhau. 1. pi/2.12 Vẽ đồ thị hàm số x (t ) = 2 + 3sin(π t + 10)e−0. 4. x3.5 ≤ x ≤ 5 với: 1 + x4 Kiểu đường là nét gạch chấm. với -5< t < 5. dấu)) x 4. (Thử lại với các tham số khác (Màu sắc. ex và e^(x2) với 0 < x < 4.10 Vẽ đồ thị hàm số y = cos(t) trong khoảng 0 < t < 2pi. độ rộng 6pt. 4.0) và (5. 4. Chia trục Oy thành 3 khoảng là -1. kiểu đường. 20 ≤ x ≤ 25 trên 2 hệ trục tọa độ khác nhau. 4. Vẽ đồ thị 4.8 Vẽ hai hàm số f = x sin( x ).7 Vẽ hai hàm y = x 2 và y = s in3x trên cùng một đồ thị. Định giá trị cho trục Ox là từ -20 đến 20 và Oy từ -6 đến 6. Ghi chú thích cho trục Oy là ‘x(t)’. 4. màu đỏ và dấu (marker) là dấu +. tựa đề của đồ thị là ‘ham so x(t)’.0) bán kính bằng 3. màu tô của dấu là xanh. Dùng lệnh text để viết phương trình của đồ thị trên một điểm của đồ thị. (4. Ghi chú thích cho trục Ox là ‘t (thoi e t 2 − cos   4 gian’).35t .6 Vẽ đồ thị hàm số f ( x ) = . 2 + sin t −0. 3pi/4. Oy là ‘Ham so x(t)’ và tựa đề cho đồ thị. độ rộng 2pt.1). trục Ox là ‘thoi gian t(giay)’.01 < x < 0.2 Vẽ đường thẳng nối các điểm (0. 4 . 4.5 Vẽ lại đồ thị hàm số e^(x2) (0 < x < 4) nhưng với đường gạch chấm. màu đỏ thẫm.

y ) = e 2 sin x 2 + y 2 + ε x + y +ε 2 2 .17 Cho ma trận A = 8 7 3 . Ghi chú thích. dự đoán kết quả. f(x)*g(x). (x > y) | (y < x) j. y >= x f. giải thích và thử lại bằng Matlab: a. 720 uống pepsi.15 Vẽ đồ thị hàm số z ( x. (x > y) & (y < x) 5. −x 4. 4.14 Vẽ đồ thị hàm số x3.   9 8 6    4.1 Cho x = [1 5 2 8 9 0 1] và y = [5 2 2 6 0 0 2]. ex và e^(x2) với 0 < x < 4 trong cùng một cửa sổ hình vẽ. Vẽ đồ thị của hai hàm số f ( x ) = x(1 + sin(π x ) và g ( x) = 5e− x /2 trong cùng một hệ 3 − 2 cos(2π x) trục. x & (-y) i. (x > 3) & (x < 8) b. Hãy vẽ biểu đồ quạt để minh họa số liệu trên. và 600 uống nước tinh khiết. 5. x & y h. ε =1× 10−10 với −10 ≤ x ≤ 10 và −10 ≤ y ≤ 10 . x | y g. Ghi − y2 với -2 < x < 2 và -2 < y < 2. dấu là ‘+’.13 a. f(x)/g(x) trong cùng một cửa sổ hình vẽ. BIỂU THỨC LOGIC 5. x( (x < 2) | (x >= 8) ) e. Ghi các chú thích rõ ràng trên từng đồ thị. Vẽ đồ thị cột biểu diễn ma trận trên.4.18 Trong một báo cáo thị trường đồ uống ở một khu vực của Tp HCM cho biết có 850 người uống coca. y( (x < 2) | (x >= 8) ) 5 . y(x <= 4) d.16 Vẽ đồ thị hàm số z ( x. đồ thị của hàm g(x) là đườn đứt nét. y < x c. x > y b. Các đồ thị được vẽ với 0 ≤ x ≤ 4 . x(x > 5) c. x == y d. 5 2 1  4. Vẽ đồ thị f(x).2 Cho x = 1:10 và y = [3 1 5 6 8 2 9 4 7 0]. f(x) + g(x). y ) = chú thích cho đồ thị. giải thích kết quả các dòng lệnh sau: a. b. 4. còn lại 320 sử dụng các loại khác. x <= y e.

hay nói gọn hơn là chỉ số logic. b & ( b) g. c. xác định giá trị các biểu thức sau. e. Tổng các phần tử lẻ của ma trận. a= b==a (Xác định giá trị cuối của a) Từ BT 5. b. Nhân các giá trị chẵn cho 5. 6 . Những phần tử dương của ma trận. Gán những phần tử bằng 0 thành 1. 5 > 4 > 3 f. 1 −2 8 9  5 6 0 25   . a < b < b e. Giá trị lớn nhất các phần tử chẵn của ma trận. 13 & (-6) c.3 Dự đoán kết quả những câu sau. d. a < b c.4 e. a = b b.f. Chuyển các giá trị dương thành giá trị 0. viết lệnh thực hiện: a. Kiểm tra lại bằng Matlab : a.6 Cho x = [3 15 9 12 -1 0 -12 9 6 1]. c. a < b < a d. 5.2 <= 0.5 này. x(y < 0) 5. 0 < -2|0 d.5 Cho ma trận X = 1 −11 3 7    0 4 −3 2  a. Chuyển các bội số của 3 thành số 3. e. ta đã có một kỹ thuật trích các giá trị của một vector theo chỉ số là một biểu thức logic. 1 & -1 b. d. giải thích và kiểm tra lại bằng Matlab : a. b. Chuyển các giá trị nhỏ hơn trung bình cộng thành giá trị 0. 2 > 3 & 1 5. a | ( a) f. 0 <= 0. Những phần tử âm của ma trận.4 Cho 2 vectơ a = [1 0 2] và b = [0 2 2]. tìm: 5. Gán cho vector y các giá trị lớn hơn 10 của x. a ( ( b)) h.

T = 50 h = ? b. n = 7 m = ? b. n = -10 m = ? 6. 6. x = 5 y = ? c. z = 60 w = ? d.7 Tạo vector x = randperm(35).4 if 0 < x < 10 y = 4*x elseif 10 < x < 40 y = 10*x else y = 500 end a.5. 5.8 Tính x = sin(t ) .3 if T < 30 h = 2*T + 1 elseif T < 10 h=T–2 else h=0 end a.2 if z < 5 w = 2*z elseif z < 10 w=9-z elseif z < 100 w = sqrt(z) else w=z end 6. Làm thế nào để loại bỏ cảnh báo khi t = 0? Vẽ đồ thị của t hàm này sau khi xử lý giá trị t = 0. z = 1 w = ? b.x nếu 20 <= x <= 35 Thử lại kết quả bằng cách vẽ đồ thị hàm số này qua một số dòng lệnh. với –pi/2 < t < pi/2. x = 30 y = ? d. T = 0 h = ? 6.1 if n > 1 m = n+1 else m=n–1 end a. T = 15 h = ? c. Viết các lệnh để tính giá trị hàm sau sử dụng chỉ số logic: y(x) = 2 nếu x<6 =x-4 nếu 6 <= x < 20 = 36 . x = -1 y = ? b. n = 0 m = ? c. z = 200 w = ? a. x = 100 y = ? 7 . Gợi ý: sử dụng toán tử logic và hàm xấp xỉ eps. CÂU LỆ H IF Dự đoán kết quả và thử lại bằng Matlab: 6. z = 9 w = ? c.

Viết các script để tính các hàm sau: 6.) n n! 7.1 (y .) b. Đo thời gian chạy giữa 2 cách bằng cách sử dụng cặp lệnh tic .000 < y 7.000 c. Tính tổng tất cả các phần tử. toc.1 Cho vector x = [1 8 3 9 0 1]. (So sánh kết quả với lệnh cumsum. ta muốn đo thời gian tính hàm x = sin(t) với thì dùng: tic x = sin(t) toc. (So sánh kết quả với lệnh sum. b..000 khi 50.50..000) Thử các trường hợp: a.000) = 1.45 T + 900 khi T > 100 Thử các trường hợp: a.20.200 + 0. y = 75.000 < y <= 50. Chuyển các giá trị nhỏ hơn 0.2 thành 1. 6.10 khi 0 < T < 100 = 0.6 f(x) = -1 nếu x < 0 =0 nếu x = 0 =1 nếu x > 0 So sánh với hàm sign của MATLAB. VÒ G LẶP 7. y = 5.000 khi y <= 10.7 t(y) = 200 = 200 + 0. viết các dòng lệnh để a. Viết hàm tính tổng dãy con từ 1 đến j.000 phần tử tính tổng bình phương các phần tử sử dụng 2 cách: i) Dùng phép toán trên ma trận.5 h(T) = T .000 b.2 thành 0.700 + 0.000) = 5.4 Tạo một vec tơ ngẫu nhiên gồm 1.10.15 (y . 7.000 khi 10.3 Tạo ma trận M x N các số ngẫu nhiên (dùng lệnh rand).000 < y <= 20. 8 .2 Hãy viết hàm tính tổ hợp n chập r theo công thức sau   = . y = 17.  r  r !(n − r )! 7. Ví dụ.25 (y . y = 25.000 d. ii) Vòng lặp for. 6. các giá trị lớn hơn hay bằng 0.000 khi 20. T = 110. T = 5.000.

5 Tạo một vec tơ có giá trị nguyên gồm 100. Hãy tính số năm khi mà lợi nhuận thu được gấp đôi tiền vốn ban đầu. Có bao nhiêu phần tử đứng trước một phần tử có giá trị nằm trong khoảng 0. 9 . Có bao nhiêu phần tử trong khoảng [0. tìm tất cả những phần tử chia hết cho 3 bằng 2 cách: i) Dùng phép toán trên ma trận. tính các mảng/vector/ma trận sau a. d.01. ví dụ x = [-4 0 5 -3 0 3 7 -1 6]. bao nhiêu giá trị dương.] 7. và bao nhiêu giá trị bằng 0. ii) Dùng for và if.200 đ / 1KW.7 Cho một vectơ bất kỳ.1 Đơn giá tính tiền điện trong tháng của công ty điện lực đối với hộ gia đình như sau: • Nếu lượng điện sử dụng <= 100 KW thì tính 550 đ / 1KW.10 Giả sử ta đầu tư vào một quỹ tín dụng một số tiền ban đầu là a.5] đứng trước giá trị trung bình của vector đó.6 Cho x = [4 1 6] và y = [6 2 7].9 Viết một script yêu cầu nhập một nhiệt độ Fahrenheit rồi chuyển sang độ Celcius tương ứng.800 đ / 1KW. (Dự đoán kết quả trước khi thực thi lệnh. 0. [Sử dụng hàm isempty.8 Viết script để tính trong một vector các số ngẫu nhiên (sử dụng lệnh rand): a. từ 101 trở đi là 1.) 7. aij = xiyj b. tính tổng các phần tử của c. dij = xi/(2 + xi + yj) 7.000 phần tử trong khoảng [0. • Trên 300 KW thì 2. 7.000 đ / 1KW. bij = xi/yj c. ci = xiyi. 8. b. viết script để đếm xem trong vec tơ có bao nhiêu giá trị âm. • Nếu sử dụng <= 200 KW thì 100KW đầu được tính theo đơn giá như trên. số tiền sinh lời hàng năm là 10% số tiền vốn tích lũy.8 đến 0. • Từ 201 đến 300 KW được tính là 1. Đo thời gian chạy giữa 2 cách.85.7. LẬP TRÌ H 8. Script vẫn chạy đến khi không nhập nhiệt độ nữa thì thôi. 7.100].

Trong 50 số Fibonacci đầu tiên. Tính 10 số Fibonacci đầu tiên. 320.σ ( x) = Với tên hàm: v = gauss(x. 8. 8. b. x ≤ 2  2  .1].5 Dãy số Fibonacci có mối quan hệ sau: Fn = Fn-1 + Fn-2. 10 . 2< x≤4 f ( x) =  2 6 − x . thay giá trị của nó bằng n/2 nếu n chẵn và nếu n lẻ thì thay bằng (3*n+1). tính tỷ lệ Fn / Fn-1. Hãy viết hàm để tính số tiền các gia đình này phải trả.Tổng số tiền mà một hộ gia đình phải trả là tổng số tiền sử dụng điện + 10% thuế VAT. P1(x) = x và P2(x) = (3x2 . mu. với F0 = F1 = 1. a.7 Viết script yêu cầu nhập một số tự nhiên n. Lượng điện sử dụng trong tháng của 3 hộ gia đình trong 1 khu dân cư lần lượt là 120. N hận xét gì các giá tỷ lệ này so với “tỷ lệ vàng” ( (1 + sqrt(5))/2 ).6 Đa thức Legendre (Pn(x)) được định nghĩa qui nạp như sau (n+1) Pn+1(x) .2 Viết hàm vẽ đồ thị của hàm số sau:  1 x2 .1)/2. sigma) 1 e σ 2π −( x − µ ) 2 σ2 8. x > 4   với 0 ≤ x ≤ 6 .4 Tính giá trị của số Pi sử dụng chuỗi π 2 −8 16 =∑ n =1 ∞ 1 ( 2n − 1) ( 2n + 1) 2 2 Giá trị của n cần đạt đến bao nhiêu để độ chính xác là 1e-12? Độ chính xác là bao nhiêu khi n = 100? 8. 480 KW.(2n+1) Pn(x) + n Pn-1(x) = 0 Trong đó P0(x) = 1.3 Viết hàm tính hàm mật độ của phân phối chuNn tại giá trị x với 2 tham số ∓ và : f µ . 8. 8. Tính 3 đa thức Legendre tiếp theo và vẽ 6 đa thức này trong khoảng [-1. rồi dựa vào giá trị của nó thực hiện hoài việc chuyển giá trị: Trong khi n lớn hơn 1.

do đó chiều dài dãy là 6. hist(x. Cho vector x. Thử lại với các dòng lệnh như sau: x = randint(-30.Ví dụ: n =10. y ) = f ( x) + y 2 + 2 y . l = 17… Có nhận xét gì? 8. hist(x. Phân tích f(x) thành các thừa số chung. 8. tích dãy con thứ j bằng pj = (x1)(x2) .9 Giống như bài 5.10:17) N hận xét biểu đồ mô tả. c. nhưng thay hàm tính tích bằng hàm tính tổng.5.1). Sử dụng vòng lặp for.-45:-35) x = randint(7. Lấy đạo hàm và nguyên hàm theo x và y của g(x. còn M và cột). 16.M. hist(x.10 Viết hàm sinh ngẫu nhiên ma trận các số nguyên: function A = randint(a. dãy số là 5.1).8 Viết hàm tính tích dãy con bắt đầu từ phần tử đầu tiên của một vector. Tạo đa thức f ( x) = x − 10 x + 29 x − 20 với các hệ số lấy từ vectơ u. số x = randint(10. b. 1.100000.y).-2:7) xem lại điều kiện tham số cho đúng. a. Sử dụng hàm sẵn có prod.3). b.-35. hist(x. Tính f(15). Tạo đa thức 3 2 g ( x. Bài tập Symbolic math 9.-30:5) x = randint(-45. d. 11 . 2.. Ví dụ khi n = 10.17.5. Vẽ đồ thị mô tả chiều dài l dãy lặp lại ứng với các giá trị của n từ 2 đến 30.1). l = 6. thực hiện: a. Lấy đạo hàm và tích phân của f(x).Tính chiều dài dãy lặp lại.b.100000. Giải phương trình f(x) = 0. (xj) với j chạy từ 1 đến chiều dài l của vector x. ) trong đó a và b là các chận dưới và chận trên. g(5. Viết hàm bằng 2 cách: a. rồi khai triển. khi n = 15.-2. b.. 8. 9.100000. 4. 8. So sánh kết quả với hàm cumprod.1 Cho vectơ u = [1 -10 29 -20].1). Thử lại với các dòng lệnh như sau: là kích thước của ma trận (số dòng.100000.

B. tính lần lượt đạo hàm. b = π 2 . chuyển vị của A và B. thực hiện: cos 2a sin 2b  v − v u + v     a. hàm f(x) ở câu 1. Tính C = A*B. A + B. c. Tính A với a = 0.9.5 Vẽ hình cầu tâm O bán kính 3 bằng phường trình  y = r sin θ sin ϕ . 12 .  y = r cos t  x = r sin θ cos ϕ  9.  x = r sin t . tính B với u = 3. v = cost. d.  z = r cosθ  9. b.2 Tạo ma trận A =  v  sin(a + b) sin(a − b)   u và B =  . Khai triển ma trận C. nguyên hàm theo a và theo v ma trận C.4 Vẽ đường tròn tâm O bán kinh r = 2 bằng phương trình  9. Tìm ma trận nghịch đảo.6 Giải các hệ phương trình sau bằng biến symbolic:  x2 + y2 + z 2 = 2  a)  x + y = 1 y + z =1  2 x1 + x2 + 5 x3 + x4 = 5  x + x − 3x − 4 x = −1  1 2 3 4 b)  3x1 + 6 x2 − 2 x3 + x4 = 8  2 x1 + 2 x2 + 2 x3 − 3x4 = 2  c) cos x + tan x = 0 3 2 2 3 d) x − (a − 1) x + a x − a = 0 tính nghiệm tại a = 0. A. x 9. a = 1. vẽ đồ thị y = e .3 Dùng biến symbolic.

Sign up to vote on this title
UsefulNot useful