Bài giảng Tin học chuyên ngành - Chương 1 và 2

I. HOẠT ĐỘNG CỦA MATLAB

II. BIẾN VÀ CÁC THAO TÁC CỦA CÁC BIẾN

III.SƠLƯỢC VỀ ĐỒHỌA TRONG MATLAB

IV. ÂM THANH TRONG MATLAB

pdf34 trang | Chuyên mục: MATLAB | Chia sẻ: dkS00TYs | Lượt xem: 1869 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Tin học chuyên ngành - Chương 1 và 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
48
I. MA TRẬN:
4. Hiển thị ma trận (tt)
Ví dụ 1:
>> disp('Hello')
Hello
>> disp(pi)
3.1416
>> x=[1 2 3 4];
>> disp(x)
1 2 3 4
>> temp=78;
>> fprintf(‘Nhiệt độ là: \n %6.1f độ F’,temp);
Nhiệt độ là:
 78.0 độ F
25
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
49
I. MA TRẬN:
4. Hiển thị ma trận (tt)
Ví dụ 2:
>> temp=78;
>> st='do F';
>> fprintf('Nhiet do la %4.1f %s\n',temp,st)
Nhiet do la 78.0 do F
>> fprintf('Nhiet do la %4.1f\b %s\n',temp,st)
Nhiet do la 78. do F
>> fprintf('Nhiet do la %4.1f\t %s\n',temp,st)
Nhiet do la 78.0 do F
>> fprintf('It''s Friday.\n')
It's Friday.
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
50
II. CÁC MA TRẬN ĐẶC BIỆT:
Matlab có một số hàm để tạo ma trận đặc biệt
1. Ma trận ma phương (magic(n))
• Ma phương bậc n là ma trận vuông cấp n
• Bao gồm các số nguyên từ 1 đến n2
• Các phần tử sắp xếp sao cho tổng các phần tử trên 
một hàng, một cột, đường chéo là bằng nhau
Ví dụ:
>> magic(4)
ans=
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
26
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
51
II. CÁC MA TRẬN ĐẶC BIỆT:
2. Ma trận zero:
• Hàm zeros(m,n) là ma trận có kích thước m x n chứa 
toàn số 0
• Nếu tham số chỉ có một Æ ma trận vuông
Ví dụ:
>> zeros(3,4)
ans=
0 0 0 0
0 0 0 0
0 0 0 0
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
52
II. CÁC MA TRẬN ĐẶC BIỆT:
3. Ma trận ones:
• Hàm ones(m, n) là ma trận có kích thước m x n chứa 
toàn số 1
• Nếu tham số chỉ có một Æ ma trận vuông
Ví dụ:
>> ones(3,4)
ans=
1 1 1 1
1 1 1 1
1 1 1 1
27
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
53
II. CÁC MA TRẬN ĐẶC BIỆT:
4. Ma trận đường chéo đặc biệt (Identity Matrix):
• Ma trận có các phần tử trên đường chéo bằng 1
• Các phần tử còn lại bằng 0
Ví dụ:
>> eye(4)
ans=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
54
II. CÁC MA TRẬN ĐẶC BIỆT:
5. Ma trận đường chéo mở rộng eye(m,n):
• Ma trận kích thước mxn có các phần tử chỉ số hàng = 
chỉ số cột thì bằng 1
• Các phần tử còn lại bằng 0
Ví dụ:
>> eye(4,5)
ans=
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
28
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
55
II. CÁC MA TRẬN ĐẶC BIỆT:
6. Ma trận Pascal (pascal(n)):
• Ma trận chứa các giá trị của tam giác pascal
Ví dụ:
>> pascal(4)
ans=
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
56
II. CÁC MA TRẬN ĐẶC BIỆT:
7. Các ma trận đặc biệt khác:
compan
gallery
hadamard
hankel
hilb
invhilb
kron
rosser
toeplitz
vander
wilkinson
29
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
57
III. CÁC PHÉP TOÁN TRÊN MẢNG:
1. Tính toán với mảng:
Lưu ý: số phần tử 2 mảng a và b phải bằng nhau
Ký hiệu Ý nghĩa Biểu thức
a + b
a - b
a .* b
a ./ b
a .\ b
a .^ b
Cộng từng phần tử mảng
Trừ từng phần tử mảng
Nhân từng phần tử mảng
Chia từng phần tử a cho b
Chia từng phần tử b cho a
Lũy thừa từng phần tử
[a1+b1 a2+b2 …an+bn]
[a1-b1 a2-b2 …an-bn]
[a1*b1 a2*b2 …an*bn]
[a1/b1 a2/b2 …an/bn]
[b1/a1 b2/a2 …bn/an]
[a1^b1 a2^b2 …an^bn]
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
58
III. CÁC PHÉP TOÁN TRÊN MẢNG:
Ví dụ:
>> A=[4 8 15]; B=[2 2 3];
>> A + B
ans = 6 10 18
>> A - B
ans = 2 6 12
>> A .* B
ans = 8 16 45
>> A ./ B
ans = 2 4 5
>> A .\ B
ans = 0.5000 0.2500 0.2000
>> A .^ B
ans = 16 64 3375
30
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
59
III. CÁC PHÉP TOÁN TRÊN MẢNG:
2. Thứ tự ưu tiên của các toán tử:
Ưu tiên Toán tử
1
2
3
4
Ngoặc đơn
Lũy thừa
Nhân & chia từ trái qua phải
Cộng & trừ từ trái qua phải
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
60
IV. CÁC PHÉP TOÁN MA TRẬN:
Một số hàm xử lý ma trận cơ bản:
Hàm Ý nghĩa
matrix.’ Chuyển vị ma trận
matrix’ Chuyển vị ma trận có phần phức liên hợp
inv(matrix) Đảo ma trận
rank(matrix) Xác định hạng của ma trận
det(matrix) Tính định thức ma trận
eig(matrix) Tính các giá trị riêng của ma trận
31
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
61
IV. CÁC PHÉP TOÁN MA TRẬN:
1. Ma trận chuyển vị:
• Ma trận chuyển vị của A ký hiệu là AT
• Các phần tử hàng của A trở thành phần tử cột của AT
Ví dụ:
>> A=[1 2 3; 4 5 6]
A = 
1 2 3
4 5 6
>> A’
ans =
1 4
2 5
3 6
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
62
IV. CÁC PHÉP TOÁN MA TRẬN:
2. Nhân ma trận:
• C=A.*B nhân vô hướng
• C=A*B nhân ma trận với: Cij = Σ AikBkj
Số cột của ma trận A phải bằng số hàng của ma trận B
Ví dụ:
>> A=[1 2 3; 4 5 6]; B=[3 4 5; 6 7 8];
>> C=A.*B
C= 3 8 15
24 35 48
>> B = B’;
>> C = A*B
C= 26 44
62 107
32
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
63
IV. CÁC PHÉP TOÁN MA TRẬN:
3. Phép quay:
• Cú pháp: rot90(matrix) hay rot90(matrix,num);
• Các phần tử của A được quay 90o theo ngược chiều 
kim đồng hồ
• Dùng tham số num để xác định số lần quay
Ví dụ:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B = rot90(A)
B= 3 6 9
2 5 8
1 4 7
>> C = rot90(A,2)
C= …
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
64
IV. CÁC PHÉP TOÁN MA TRẬN:
4. Phép đảo ma trận:
• fliplr(A) ÎĐảo các phần tử A từ trái sang phải
• flipud(A) Î Đảo các phần tử A từ trên xuống dưới
Ví dụ:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B = fliplr(A)
B= 3 2 1
6 5 4
9 8 7
>> C = flipud(B)
C= 9 8 7
6 5 4
3 2 1
33
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
65
IV. CÁC PHÉP TOÁN MA TRẬN:
5. Reshape:
• Cho phép định dạng lại ma trận với số hàng và số cột 
khác với ma trận gốc
• Số phần tử của ma trận gốc và ma trận mới phải bằng 
nhau
• Hàm có 3 tham số là ma trận gốc, số hàng và số cột
Ví dụ:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> B=reshape(A,1,9)
B=
1 4 7 2 5 8 3 6 9
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
66
IV. CÁC PHÉP TOÁN MA TRẬN:
6. Trích các phần tử từ ma trận:
Hàm Ý nghĩa
diag(A) Lấy đường chéo chính lưu vào một vector cột
diag(A,k)
Chọn đường chéo dựa vào k
k=0 đường chéo chính
k>0 đường chéo thứ k trên đường chéo chính
k<0 đường chéo thứ k dưới đường chéo chính
A=diag(V) Nếu V là vector thì A là ma trận vuông có V là đường chéo chính. Các phần tử khác bằng 0
34
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
67
IV. CÁC PHÉP TOÁN MA TRẬN:
6. Trích các phần tử từ ma trận (tt)
Ví dụ:
>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12]; V=[1:3];
>> diag(A)
ans = 1
6
11
>> diag(A,-1)
ans = 5
10
>> A=diag(V)
A = 1 0 0 
0 2 0 
0 0 3 
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
68
IV. CÁC PHÉP TOÁN MA TRẬN:
6. Trích các phần tử từ ma trận (tt)
Hàm Ý nghĩa
B=triu(A)
Sinh ra ma trận B cùng cỡ, chứa các phần tử A 
nằm ở đường chéo chính và trên đường chéo 
chính. Vị trí khác bằng 0
triu(A,k) Phần tử A nằm trên và phía trên đường chéo thứ k
tril(A)
Sinh ra ma trận cùng cỡ, chứa các phần tử A nằm 
ở đường chéo chính và dưới đường chéo chính. Vị
trí khác bằng 0
tril(A,k) Phần tử A nằm ngay trên và phía dưới đường chéo thứ k. Các vị trí khác bằng 0
35
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
69
IV. CÁC PHÉP TOÁN MA TRẬN:
6. Trích các phần tử từ ma trận (tt)
Ví dụ:
>> A = [1 2 3 4; 5 6 7 8; 9 10 11 12]; 
>> B = triu(A)
B= 1 2 3 4
0 6 7 8
0 0 11 12
>> C = triu(A,-1)
C= 1 2 3 4
5 6 7 8
0 10 11 12
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
70
IV. CÁC PHÉP TOÁN MA TRẬN:
6. Trích các phần tử từ ma trận (tt)
Ví dụ:
>> B = tril(A)
B= 1 0 0 0
5 6 0 0
9 10 11 0
>> C = tril(A,-1)
C= 0 0 0 0
5 0 0 0
9 10 0 0
36
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
71
V. GIẢI HỆ PHƯƠNG TRÌNH ĐỘC LẬP TUYẾN TÍNH:
Xét hệ:
x1 – 2x2 + x3 = 2
2x1 + x2 – 4x3 = -1
3x1 – 4x2 – x3 = 0
Giải:
20
043
112
221
3;16
103
412
121
2
28
140
411
122
1;8
143
412
121
−=
−
−
−
=−=−−=
−=
−−
−−
−
=−=
−−
−
−
=
DD
DD
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
72
V. GIẢI HỆ PHƯƠNG TRÌNH ĐỘC LẬP TUYẾN TÍNH:
Nghiệm của hệ là
x1 = D1/D = 3.5
x2 = D2/D = 2
x3 = D3/D =2.5
Trong Matlab:
>> A=[1 -2 1; 2 1 -4; 3 -4 -1];
>> b=[2;-1;0];
>> x=inv(A)*b
x =
3.5000
2.0000
2.5000
37
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
73
V. GIẢI HỆ PHƯƠNG TRÌNH ĐỘC LẬP TUYẾN TÍNH:
Bài tập:
x1 + x2 + x3 + x4 = 0
x2 + x3 + x4 + x5 = 0
x1 + 2x2 + 3x3 = 2
x2 + 2x3 + 3x4 = -2
x3 + 2x4 + 3x5 = 2
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
74
VI. BÀI TẬP:
1) Hãy cho biết kết quả của từng dòng lệnh sau:
>> A = [1:3;4:6]
>> B = [A A;A A]
>> C = B(1:2,3:4)
>> D = C+2
>> E = C.*D
>> F = C*2 - 1
2) Hãy cho biết kết quả của từng dòng lệnh sau:
>> A = pascal(4)
>> diag(A)
>> diag(A,-1)
>> C=diag(diag(A,1))
>> D=diag(diag(A))
38
CHƯƠNG 2: MA TRẬN VÀ CÁC PHÉP TOÁN MA TRẬN
Giảng viên: Hoàng Xuân Dương
75
VI. BÀI TẬP:
3) Hãy cho biết kết quả của từng dòng lệnh sau:
>> A = pascal(3)
>> B = rot90(A,3)
>> C = fliplr(flipud(B))
>> D = flipud(fliplr(C))
>> C + D
>> (A(:))’
Bài giảng Tin học chuyên ngành
Giảng viên: Hoàng Xuân Dương
76Õ
CHƯƠNG 3: 

File đính kèm:

  • pdfBài giảng Tin học chuyên ngành - Chương 1 và 2.pdf