-Tìm hiểu các lệnh Matlab dùng để viết chương trình phân tích A = QR bằng phương pháp Gram-Schmidt... Tổng quan về MatLab : -Matlab viết tắt của matrix laborary là một ngôn ngữ lập trìn
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA
GVHD:Thầy Đặng Văn Vinh
ĐỀ TÀI 3: PHÂN TÍCH A=QR
Trang 2MỤC LỤC
LỜI CẢM ƠN 3
ĐỀ TÀI 3
I Yêu cầu 4
II Điều kiện 4
BÀI TẬP LỚN 5
Câu 1 5
I Định nghĩa 5
II Phân tích 5
III Ví dụ vận dụng 5
1 Ví dụ 1 5
2 Ví dụ 2 6
Câu 2 7
I Tổng quan về MatLab 7
II Giải bài toán trên MatLab 8
Câu 3 8
1 Bình phương cực tiểu 8
2 Sử dụng trong mô hình 9
3 Sử dụng trong ứng dụng học máy 9
4 Sử dụng trong các hệ thống xử lý 9
TÀI LIỆU THAM KHẢO 10
Trang 3LỜI CẢM ƠN
Nhóm 3 chúng em xin chân thành cảm ơn thầy TS Đặng Văn Vinh trường Đại học Bách Khoa TP.HCM – Đại Học Quốc Gia TP.HCM, Thầy đã trang bị cho em những kiến thức cơ bản để hoàn thành đề tài được giao Trong quá trình làm việc nhóm để hoàn thành bài tập lớn này, do kiến thức vẫn còn hạn chế nên chúng em còn nhiều thiếu sót trong quá trình tìm hiểu, đánh giá và trình bày để tài Chúng
em rất mong nhận được sự quan tâm, góp ý của thầy để tài của chúng em được đầy đủ và hoàn chỉnh hơn
Xin chân thành cảm ơn thầy!
Trang 4ĐỀ TÀI
I Yêu cầu :
- Nêu cơ sở lí thuyết của phân tích A = QR bằng phương pháp Gram-Schmidt
- Viết chương trình dùng để phân tích A = QR bằng phương pháp
Gram-Schmidt
- Tìm các ứng dụng của phân tích A = QR
II Điều kiện :
-Sinh viên cần có kiến thức về lập trình cơ bản trong Matlab
-Tìm hiểu các lệnh Matlab dùng để viết chương trình phân tích A = QR bằng phương pháp Gram-Schmidt
Trang 5BÀI TẬP LỚN
Câu 1: Cơ sở lí thuyết của phân tích A = QR bằng phương pháp Gram-Schmidt
I Định nghĩa:
tam giác trên (rij=0, ∀i > j)
II Phân tích:
chuẩn: Q = (e1, e2, , en)
𝑣𝑘 = ∑〈𝑣𝑘, 𝑒𝑖〉𝑒𝑖
𝑘
𝑖=1
Vì vậy ta có thể viết:
A = (v1, v2, , vn) = (e1, e2, , en) (
〈𝑣1, 𝑒1〉 〈𝑣2, 𝑒1〉 … 〈𝑣𝑛, 𝑒1〉 0
⋮
⋮ ⋮
〈𝑣𝑛, 𝑒2〉
⋮
) = QR
Như vậy Q là ma trận các cột trực giao, còn R là ma trận vuông cấp m các
hệ số khi khai triển các vector vk theo cơ sở trực chuẩn thu được từ quá trình trực chuẩn hóa Gram-Schmidt các vector này (hệ số Fourier) Rõ
III Ví dụ vận dụng:
1.Ví dụ 1 :
A = (v1, v2, v3) = (
)
Trang 6 Tìm một phân tích QR của nó Để giải quyết bài toán, đầu tiên ta trực
√3)𝑇, 𝑒2 = (−2
√2)𝑇
Khi đó
𝑄 =
(
1
√3
−2
1
√3
1
√6
−1
√2 1
√3
1
√6
1
√2) Còn
𝑅 = (
〈𝑣1, 𝑒1〉 〈𝑣2, 𝑒1〉 〈𝑣3, 𝑒1〉
) = (
√3
1
√3
√6
1
√6
√2)
2 Ví dụ 2
Phân tích QR của ma trận A = (11 12 11
1 1 2
)
Tìm 𝑓2 = 𝑒2 + 𝛼1 𝑓1, với 𝑎1 = −(𝑒2,𝑓1)
(𝑓1,𝑓1) = −4
3
3;2
3;−1
Tìm 𝑓3 = 𝑒3 + 𝛼1𝑓1 + 𝛼2𝑓2, với 𝛼1= −(𝑒3,𝑓1)
(𝑓1,𝑓1) = −4
3 và 𝛼2= −(𝑒3,𝑓2)
(𝑓2,𝑓2) = −1
6
1
1
2; 0;1
2)
Trang 7Chọn 𝑓3 = (-1;0;1)
1
1
→ Ma trận trực giao Q =
(
1
√3 1
√3
1
√6
−1
√2
−2
1
√3
1
√6
1
√2)
(
3
√3
0
4
√3
4
√3
−2
√6
1
√6
√2)
Câu 2: Viết chương trình dùng để phân tích A = QR bằng phương pháp
Gram-Schmidt
I Tổng quan về MatLab :
-Matlab (viết tắt của matrix laborary) là một ngôn ngữ lập trình bậc cao bốn thế
hệ, môi trường để tính toán số học, trực quan và lập trình Được phát triển bởi MathWorks
-Nó cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện thực
thuật toán, tạo ra giao diện người dùng, bao gồm C,C++, Java và Fortran ; phân tích dữ liệu, phát triển thuật toán, tạo các kiểu mẫu và ứng dụng
-Nó có rất nhiều lệnh và hàm toán học nhằm hỗ trợ đắc lực cho bạn trong việc tính toán, vẽ các hình vẽ, biểu đồ thông dụng và thực thi các phương pháp tính toán
Trang 8II Giải bài toán trên MatLab :
function [Q, R] = qrgramschmidt(A);
(phan tich mt bang thuat gramsmidt)
[m, n]= size(A);
R(1,1)= norm(A(:, 1));
Q(:, 1)= A(:, 1)/R(1, 1);
R(1:k-1, k) = Q(1:m, 1:k-1)'*A(1:m, k);
z =A(1:m,k) - Q(1:m, 1:k-1)*R(1:k-1, k);
R(k,k) = norm(z);
Q(1:m,k) = z/R(k, k);
end
Câu 3: Các ứng dụng của phân tích A=QR
1 Phương pháp bình phương cực tiểu
Đề bài: Tìm đường cong khớp nhất với dải dữ liệu có chu kỳ về nhiệt độ ghi
nhận được ở Washington ngày 1/1/2001 được cho như bảng sau:
12 mid
3 am
6 am
9 am
12 noon
3 pm
6 pm
9 pm
0 1/8 1/4 3/8 1/2 5/8 3/4 7/8
-2.2 -2.8 -6.1 -3.9 0.0 1.1 -0.6 -1.1
Lời giải:
Dùng phương pháp giải hệ Ax=b với mô hình
g(xj, t)= x1 + x2 cos2𝜋t + x3 sin2𝜋t
Kết quả thu được:
g(t)= -1.95 – 0.7445cos2𝜋t – 2.5594sin2𝜋t
Trang 9Hình 1: Mô hình đường cong khớp với dải dữ liệu
2 Phân tích QR được sử dụng trong các mô hình hồi quy nếu các đầu vào có
tương quan cao Phép biến đổi cho ma trận Q với các vectơ cột độc lập
3 Phân tách QR có thể hữu ích trong các ứng dụng học máy Một ví dụ về
việc sử dụng phân tách QR trong học máy là tự động loại bỏ một đối tượng
khỏi hình ảnh Hãy tưởng tượng bạn muốn cắt hình ảnh của một chiếc xe
hơi từ một video clip Sử dụng cái được gọi là phân tách giá trị đơn, nó trở
nên tương đối đơn giản Nói tóm lại, bằng cách chia video thành các khung
riêng lẻ, biến các khung thành vectơ 1D và tạo ma trận của các vectơ tương
ứng với mỗi hình ảnh, sau đó người ta có thể chạy một phân tách giá trị
duy nhất trên video Việc phân tách cho phép phân tách đơn giản các đối
tượng tiền cảnh khỏi không gian nền trong ảnh từ video
4 Phân tách QR cũng được sử dụng trong hệ thống xử lý tín hiệu và hệ thống
MIMO
Trang 10TÀI LIỆU THAM KHẢO
1 Sách giáo trình Đại số tuyến tính của thầy Đặng Văn Vinh trang 161
2 https://vi.wikipedia.org/wiki/Ph%C3%A2n_r%C3%A3_QR:nguồn Internet
Trang 11ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA
GVHD:Thầy Đặng Văn Vinh
ĐỀ TÀI 3: PHÂN TÍCH A=QR
Trang 12MỤC LỤC
LỜI CẢM ƠN 3
ĐỀ TÀI 3
I Yêu cầu 4
II Điều kiện 4
BÀI TẬP LỚN 5
Câu 1 5
I Định nghĩa 5
II Phân tích 5
III Ví dụ vận dụng 5
1 Ví dụ 1 5
2 Ví dụ 2 6
Câu 2 7
I Tổng quan về MatLab 7
II Giải bài toán trên MatLab 8
Câu 3 8
1 Bình phương cực tiểu 8
2 Sử dụng trong mô hình 9
3 Sử dụng trong ứng dụng học máy 9
4 Sử dụng trong các hệ thống xử lý 9
TÀI LIỆU THAM KHẢO 10
Trang 13LỜI CẢM ƠN
Nhóm 3 chúng em xin chân thành cảm ơn thầy TS Đặng Văn Vinh trường Đại học Bách Khoa TP.HCM – Đại Học Quốc Gia TP.HCM, Thầy đã trang bị cho em những kiến thức cơ bản để hoàn thành đề tài được giao Trong quá trình làm việc nhóm để hoàn thành bài tập lớn này, do kiến thức vẫn còn hạn chế nên chúng em còn nhiều thiếu sót trong quá trình tìm hiểu, đánh giá và trình bày để tài Chúng
em rất mong nhận được sự quan tâm, góp ý của thầy để tài của chúng em được đầy đủ và hoàn chỉnh hơn
Xin chân thành cảm ơn thầy!
Trang 14ĐỀ TÀI
I Yêu cầu :
- Nêu cơ sở lí thuyết của phân tích A = QR bằng phương pháp Gram-Schmidt
- Viết chương trình dùng để phân tích A = QR bằng phương pháp
Gram-Schmidt
- Tìm các ứng dụng của phân tích A = QR
II Điều kiện :
-Sinh viên cần có kiến thức về lập trình cơ bản trong Matlab
-Tìm hiểu các lệnh Matlab dùng để viết chương trình phân tích A = QR bằng phương pháp Gram-Schmidt
Trang 15BÀI TẬP LỚN
Câu 1: Cơ sở lí thuyết của phân tích A = QR bằng phương pháp Gram-Schmidt
I Định nghĩa:
tam giác trên (rij=0, ∀i > j)
II Phân tích:
chuẩn: Q = (e1, e2, , en)
𝑣𝑘 = ∑〈𝑣𝑘, 𝑒𝑖〉𝑒𝑖
𝑘
𝑖=1
Vì vậy ta có thể viết:
A = (v1, v2, , vn) = (e1, e2, , en) (
〈𝑣1, 𝑒1〉 〈𝑣2, 𝑒1〉 … 〈𝑣𝑛, 𝑒1〉 0
⋮
⋮ ⋮
〈𝑣𝑛, 𝑒2〉
⋮
) = QR
Như vậy Q là ma trận các cột trực giao, còn R là ma trận vuông cấp m các
hệ số khi khai triển các vector vk theo cơ sở trực chuẩn thu được từ quá trình trực chuẩn hóa Gram-Schmidt các vector này (hệ số Fourier) Rõ
III Ví dụ vận dụng:
1.Ví dụ 1 :
A = (v1, v2, v3) = (
)
Trang 16 Tìm một phân tích QR của nó Để giải quyết bài toán, đầu tiên ta trực
√3)𝑇, 𝑒2 = (−2
√2)𝑇
Khi đó
𝑄 =
(
1
√3
−2
1
√3
1
√6
−1
√2 1
√3
1
√6
1
√2) Còn
𝑅 = (
〈𝑣1, 𝑒1〉 〈𝑣2, 𝑒1〉 〈𝑣3, 𝑒1〉
) = (
√3
1
√3
√6
1
√6
√2)
2 Ví dụ 2
Phân tích QR của ma trận A = (11 12 11
1 1 2
)
Tìm 𝑓2 = 𝑒2 + 𝛼1 𝑓1, với 𝑎1 = −(𝑒2,𝑓1)
(𝑓1,𝑓1) = −4
3
3;2
3;−1
Tìm 𝑓3 = 𝑒3 + 𝛼1𝑓1 + 𝛼2𝑓2, với 𝛼1= −(𝑒3,𝑓1)
(𝑓1,𝑓1) = −4
3 và 𝛼2= −(𝑒3,𝑓2)
(𝑓2,𝑓2) = −1
6
1
1
2; 0;1
2)
Trang 17Chọn 𝑓3 = (-1;0;1)
1
1
→ Ma trận trực giao Q =
(
1
√3 1
√3
1
√6
−1
√2
−2
1
√3
1
√6
1
√2)
(
3
√3
0
4
√3
4
√3
−2
√6
1
√6
√2)
Câu 2: Viết chương trình dùng để phân tích A = QR bằng phương pháp
Gram-Schmidt
I Tổng quan về MatLab :
-Matlab (viết tắt của matrix laborary) là một ngôn ngữ lập trình bậc cao bốn thế
hệ, môi trường để tính toán số học, trực quan và lập trình Được phát triển bởi MathWorks
-Nó cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện thực
thuật toán, tạo ra giao diện người dùng, bao gồm C,C++, Java và Fortran ; phân tích dữ liệu, phát triển thuật toán, tạo các kiểu mẫu và ứng dụng
-Nó có rất nhiều lệnh và hàm toán học nhằm hỗ trợ đắc lực cho bạn trong việc tính toán, vẽ các hình vẽ, biểu đồ thông dụng và thực thi các phương pháp tính toán
Trang 18II Giải bài toán trên MatLab :
function [Q, R] = qrgramschmidt(A);
(phan tich mt bang thuat gramsmidt)
[m, n]= size(A);
R(1,1)= norm(A(:, 1));
Q(:, 1)= A(:, 1)/R(1, 1);
R(1:k-1, k) = Q(1:m, 1:k-1)'*A(1:m, k);
z =A(1:m,k) - Q(1:m, 1:k-1)*R(1:k-1, k);
R(k,k) = norm(z);
Q(1:m,k) = z/R(k, k);
end
Câu 3: Các ứng dụng của phân tích A=QR
1 Phương pháp bình phương cực tiểu
Đề bài: Tìm đường cong khớp nhất với dải dữ liệu có chu kỳ về nhiệt độ ghi
nhận được ở Washington ngày 1/1/2001 được cho như bảng sau:
12 mid
3 am
6 am
9 am
12 noon
3 pm
6 pm
9 pm
0 1/8 1/4 3/8 1/2 5/8 3/4 7/8
-2.2 -2.8 -6.1 -3.9 0.0 1.1 -0.6 -1.1
Lời giải:
Dùng phương pháp giải hệ Ax=b với mô hình
g(xj, t)= x1 + x2 cos2𝜋t + x3 sin2𝜋t
Kết quả thu được:
g(t)= -1.95 – 0.7445cos2𝜋t – 2.5594sin2𝜋t
Trang 19Hình 1: Mô hình đường cong khớp với dải dữ liệu
2 Phân tích QR được sử dụng trong các mô hình hồi quy nếu các đầu vào có
tương quan cao Phép biến đổi cho ma trận Q với các vectơ cột độc lập
3 Phân tách QR có thể hữu ích trong các ứng dụng học máy Một ví dụ về
việc sử dụng phân tách QR trong học máy là tự động loại bỏ một đối tượng
khỏi hình ảnh Hãy tưởng tượng bạn muốn cắt hình ảnh của một chiếc xe
hơi từ một video clip Sử dụng cái được gọi là phân tách giá trị đơn, nó trở
nên tương đối đơn giản Nói tóm lại, bằng cách chia video thành các khung
riêng lẻ, biến các khung thành vectơ 1D và tạo ma trận của các vectơ tương
ứng với mỗi hình ảnh, sau đó người ta có thể chạy một phân tách giá trị
duy nhất trên video Việc phân tách cho phép phân tách đơn giản các đối
tượng tiền cảnh khỏi không gian nền trong ảnh từ video
4 Phân tách QR cũng được sử dụng trong hệ thống xử lý tín hiệu và hệ thống
MIMO
Trang 20TÀI LIỆU THAM KHẢO
1 Sách giáo trình Đại số tuyến tính của thầy Đặng Văn Vinh trang 161
2 https://vi.wikipedia.org/wiki/Ph%C3%A2n_r%C3%A3_QR:nguồn Internet