1. Trang chủ
  2. » Khoa Học Tự Nhiên

Phép quay Givens, báo cáo bài tập lớn Đại học Bách Khoa

13 71 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 65,94 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO BÀI TẬP LỚN Môn Đại số tuyến tính Đề tâi Phân tích A = QR bằng phép quay Givens Giáo viên hướng dẫn Thầy Bùi Anh Tuấn Lớp L19 Nhóm 12 Tp HCM, tháng 12, năm 2021

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA

 - -

BÁO CÁO BÀI TẬP LỚN

Môn: Đại số tuyến tính

Đề tâi: Phân tích A = QR bằng phép quay Givens

Giáo viên hướng dẫn: Thầy Bùi Anh Tuấn Lớp L19

Nhóm 12

Trang 2

DANH SÁCH THÀNH VIÊN NHÓM 12 – LỚP L19

1 Lê Trung Hiếu MSSV: 2111185

2 Nguyễn Huỳnh Trung Tuấn MSSV: 2112582

3 Trần Trung Tấn MSSV: 2114744

4 Phạm Hoàng Minh MSSV: 2111761

5 Võ Hoàng Khang MSSV: 2113687

6 Đào Vũ Phát MSSV: 2114364

Trang 3

Mục lục

TRANG BÌA . 1

DANH SÁCH THÀNH VIÊN NHÓM 2

Mục lục 3

A MỞ ĐẦU 1 Yêu cầu . 4

2 Điều kiện 4

3 Kết kuận 4

B CƠ SỞ LÝ THUYẾT - ỨNG DỤNG PHÂN TÍCH A=QR 1 Cơ sở lý thuyết . 4

2 Ứng dụng của phân tích A=QR 6

C CHƯƠNG TRÌNH MATLAB 1 Sơ đồ khối Matlab 8

2 Chương trình Matlab 8

3 Giải thích các câu lệnh 9

a Phần vòng lặp sử lý bài toán 9

b Phần tính toán cho từng bước lặp tính toán 9

c Phần kết thúc và hiển thị kết quả 9

4 Các ví dụ 10

D KẾT LUẬN 1 Nhận xét 11

2 Kết luận 11

DANH SÁCH CÁC TÀI LIỆU THAM KHẢO . 12

Trang 4

A MỞ ĐẦU

1 Yêu cầu

a Nêu cơ sở lý thuyết của phân tích A = QR bằng phép quay Given

b Viết chương trình dùng để phân tích A = QR bằng phép quay Given

c Tìm các ứng dụng của phân tích A = QR

2 Điều kiện

- Sinh viên cần có kiến thức về lập trình cơ bản trong MATLAB

- Sinh viên cần nắm được một số kiến thức về ma trận

3 Nhiệm vụ

- Viết chương trình Matlab nhập vào ma trận trận A, kết quả xuât ra là ma trận

Q và ma trận R

B CƠ SỞ LÝ THUYẾT - ỨNG DỤNG

1 Cơ sở lí thuyết

Kỹ thuật quay Givens là một phương pháp để phân tích ma trận [A] thành tích của ma trận [Q] và ma trận [R] bằng cách làm cho các phần tử lần lượt bằng zero cho đến khi có được ma trận tam giác phải Ý tưởng là dùng một ma trận quay đơn giản 2 × 2 đặt dọc theo đường chéo chính của một ma trận đơn vị và làm cho một phần

tử của ma trận bằng zero Các phần tử của ma trận quay để quay một vec tơ ngược chiều kim đồng hồ một góc θ là:

[Q0] = [cosθ −sin θ sin θ cosθ ]

Nếu ta muốn quay vec tơ [x1 x2]T và muốn làm cho x2 bằng 0 rồi quaytheo chiều kim đồng hồ một góc θ(hay ngược chiều kimhay ngược chiều kim đồng hồ một góc ‐θ) trong đó:θ) trong đó:

θ=tan−1x2

x1

thì ma trận quay để thực hiện phép quay này theo chiều kim đồng hồ một góc θ là:

[Q0] = [−sin θ cosθcosθ sinθ]

Trong đó :

cosθ=c= x1

x12+x22

Trang 5

sin θ=¿s= x2

x12

+x22¿

Do đó :

[Q0] = 1

x12+x22 [ x1 x2

x2 x1] = [−c s c s]

Chú ý là như mong muốn:

[Q0] [x1

x2] = [ cx1 sx2

sx x cx1] = [ x12+x22

x12

+x22

0 ] = [ √x12

+x22

Nếu A là ma trận m × n, ta sẽ xem điều gì xảy ra khi ta thay các phần tử của [Q] vào

ma trận con xác định bằng các cột và hàng thứ i, các cột và hàng thứ j Nói cách khác ta thay ma trận 2 × 2 này dọc theo đường chéo chính tại một số điểm:

[Gkl]= { δ kl k ≠ i ,l ≠ j

c k ,l=i;k , l= j

s k =i;l= j

s k = j ;l=i

= [ 1 ⋯ 0⋮ ⋱ ⋮

0 ⋯ c

0 ⋯ 0

⋮ ⋱ ⋮

s ⋯ 0

0 ⋯ −s

c ⋯ 0

⋮ ⋱ ⋮

0 … 1]

Như vậy [G] là ma trận đơn vị m × m ngoại trừ các giá trị đã bị thay thế:

gii = gjj = c gij = g-ij = s

Điều này sẽ tạo ra ma trận unita:

[G]T[G] = [E]

Trang 6

nghĩa là:

l

g lk g lp=δ kp

Và đòi hỏi :

c2+s2=1

2 Ứng dụng

Khi sử dụng mạng Wifi nếu như có nhiều thiết bị kết nối với 1 Wifi cùng lúc sẽ làm cho tốc độ truyền dữ liệu của Wifi càng giảm Với bộ định truyền một kết nối gọi

là SU-MINO, nghĩa là các bộ định truyền chỉ có thể giao tiếp với 1 thiết một lúc sẽ khiến cho các thiết bị khi kết nối cùng phải chờ đợi để gửi và nhận dữ liệu Chính vì vậy tốc độ sẽ chậm hơn nên để cải thiện tình hình này đã có một tiêu chuẩn công nghệ mới giúp làm giảm đáng kể thời gian chờ Chúng được gọi là MU-MINO

+MIMO (hay ngược chiều kimMultiple In, Multiole Out) là cách sử dụng nhiều ăng-ten để phát và thu nhận tín hiệu của kết nối không dây Giúp các thiết bị điện tử tiếp nhận song Wifi dễ dàng hơn và khai thác hết công suất của Router Wifi

+ MIMO tận dụng sự không dội lại của song khi “đụng” phải những chướng ngại trên đường truyền khiến chúng có thể đến được đầu nhận tín hiệu bằng nhiều con đường khác nhau

Giải thích:

Công nghệ MIMO dựa trên phương pháp phân tích thừa số QR của ma trận kênh truyền hình H Theo phương pháp này thì bất kì ma trận kênh truyền hình nào cũng phân tích được thành H=QR

+Với R là ma trận tam giác trên:

R = [R11 R12 … R 1 N

0 R21 … R 2 N

Q là ma trận trực giao có tính chất QHQ=Q-1Q=1

Trang 7

Ta có phương trình hệ thống: y=Hs+z

Thực hiện biến đổi nhân 2 vế cho QH ta được:

QHy=QH.Hs+QH.z

<=> QHy=R.s+QH.z

Coi y’ là QHy và z’ là QH.z ta có:

Y’=R.s+z’

Tổng quát: y’i = Ri,I si+ ∑Ri,j.si + z’i

(hay ngược chiều kim1) (hay ngược chiều kim2) (hay ngược chiều kim3)

Trong đó:

(hay ngược chiều kim1) Là tín hiệu mong muốn

(hay ngược chiều kim2) Là nhiễu từ của các angten

(hay ngược chiều kim3) Là tạp âm bên ngoài

-Ứng với angten thứ N sẽ thu được tín hiệu tốt nhất, y’N không chịu ảnh hưởng của angten nhiễu từ của các angten khác nên được tách ra trước ở lớp trên, bằng phương pháp quyết định cứng hard decision tín hiệu ở lớp dưới khi phát ra sẽ làm triệt tiêu tín hiệu ở lớp trên làm hạn chế đến mức thấp nhất nhiễu từ

C CHƯƠNG TRÌNH MATLAB

Trang 8

2 Chương trình Matlab

A=[0 -1 1;4 2 0;3 4 0]

n = size(A, 1);

Q = eye(n);

for j = 1:n-1

for i = n:-1:j+1

z = 1/sqrt(A(i-1, j)^2 + A(i, j)^2);

c = A(i-1, j)*z;

s = A(i, j)*z;

A(i-1:i,:) = [c s;-s c]*A(i-1:i,:);

Q(i-1:i,:) = [c s;-s c]*Q(i-1: i,:);

end end

R = A;

Q = Q';

disp ( 'R=' );

disp (R);

disp ( 'Q=' );

disp (Q);

3 Giải thích các lệnh trong MATLAB

- A=[0 -1 1;4 2 0;3 4 0] : Ma trận A =

0 −1 1

Ma trận A, ma trận

Q là ma trận đơn vị

cấp n với n là số

hàng của ma trận A

Lặp j từ 1 đến n-1,

i lặp từ n giảm xuống 1 đến khi j ngừng lặp thì nhận giá trị j+1

Tính cos Ө và sin Ө

Tính ma trận A mới và

Q mới bằng cách rút 2 dòng i và i-1 của ma trận từ phép lặp nhân với ma trận (hay ngược chiều kimc s,-s c)

Kết quả sẽ là R=A và

Q=

Trang 9

- n = size(A, 1): Tính n là số hàng của ma trận A

- Q = eye(n): Lập Q là ma trận đơn vị cấp n

a Phần vòng lặp xử lý bài toán:

- for j = 1:n-1 :Lặp j trong từng bước lặp tính toán tăng dần 1 đơn vị cho đến khi

đạt đến giá trị n-1 và kết thúc lặp

- for i = n:-1:j+1:Lặp i trong từng bước lặp tính toán giảm dần 1 đơn vị cho đến

khi j ngừng lặp thì i nhận giá trị là j+1 và kết thúc lặp

*Lưu ý: Khi j đã đạt giá trị n+1, lần lặp tiếp theo thì i sẽ mang giá trị j+1 và j mang

giá trị của lần lặp trước đó

b Phần tính toán cho từng bước lặp tính toán

- z = 1/sqrt(A(i-1, j)^2 + A(i, j)^2): tính giá trị độ dài của z với z= 1

a(i−1) j2

+a ij2

- c = A(i-1, j)*z: tính giá trị của c là cos Ө=a(i−1) j*zz

- s = A(i, j)*z: tính giá trị của s là sin Ө=a ij*zz

- A(i-1:i,:) = [c s;-s c]*A(i-1:i,:): Thay thế 2 dòng (hay ngược chiều kimi-1) đến i bằng kết quả của phép

nhân ma trận (−c s c s) với ma trận gồm 2 dòng (hay ngược chiều kimi-1) và i của ma trận A trong kết quả trước

- Q(i-1:i,:) = [c s;-s c]*Q(i-1:i,:): Thay thế 2 dòng (hay ngược chiều kimi-1) đến i bằng kết quả của phép

nhân ma trận (−c s c s) với ma trận gồm 2 dòng (hay ngược chiều kimi-1) và i của mà trận Q trong kết quả trước

*Lưu ý nếu phép tính đang ở lần lặp đầu tiên thì A sẽ là A của đề bài còn Q sẽ là ma

trận đơn vị cấp n

c Phần kết thúc và hiển thị kết quả

- R=A: Kết quả ma trận R trong phép phân tích phép quay A=QR sẽ lấy kết quả A

của vòng lặp cuối cùng

- Q=Q’: Kết quả ma trận Q trong phép phân tích phép quay A=QR sẽ lấy ma trận

chuyển vị của ma trận Q trong kết quả vòng lặp cuối cùng

- disp (‘R=’): Hiển thị dòng “R=”

- disp (R): Hiển thị ma trận R trong phép phân tích A=QR

- disp (‘Q=’): Hiển thị dòng “Q=”

- disp (Q): Hiển thị ma trận Q trong phép phân tích A=QR

Trang 10

4 Các ví dụ

VD1: Chạy chương trình với ma trận

A=(1 2 30 1 4

1 0 6)

Kết quả là :

Phần Q=(1.4142 1.1412 6.36400 1.7321 0.5774

Phần R=(0.7071 0.5774 −0.40820 0.5774 0.8165

0.7071 0.5774 0.4082 )

VD2: Chạy chương trình với ma trận

Q=(12 13 14 51 2 3 4

11 16 15 6

10 9 8 7) Kết quả là :

Phần Q=(−19.1311 22.1628 22.7447 10.45420.0000 4.3369 4.1681 0.0706

−0.0000 0.0000 −0.8083 0.1968 0.0000 0.0000 0.0000 4.0825)

Phần Q=(0.05230.6273 −0.20790.1940 0.54120.6298 −0.40820.8165

0.5750 0.7510 −0.3247 0.0000 0.5227 −0.5960 −0.4527 0.4082 )

Trang 11

D KẾT LUẬN

1 Nhận xét

Ưu điểm khi sử dụng Matlab

 Tính toán dễ dàng, tiện lợi, cho kết quả chính xác

 Tiết kiệm được thao tác và thời gian

Nhược điểm khi sử dụng Matlab

 Việc cài đặt và sử dụng chương trình gặp nhiều khó khăn

 Học cách sử dụng code mất thời gian, đòi hỏi nhiều công sức

2 Tổng kết

Với sự phân công chuẩn bị kỹ lưỡng và cố gắng hết mình, nhóm em đã hoàn thành

đề tài được giao và Matlab cho ra kết quả như mong muốn

Qua phần bài tập lớn này nhóm đã:

- Biết được thao tác toán trên Matlab

- Nâng cao sự hứng thú đối với môn học

- Trao dồi kinh nghiệm học tập và làm việc nhóm

- Nâng cao tinh thần trách nhiệm và thắt chặt tình đoàn kết của các thành viên trong nhóm

Trang 12

DANH SÁCH CÁC TÀI LIỆU THAM KHẢO

[1] Giáo trình đại số tuyên tính

[2] Tài liệu hướng dẫn sử dụng Matlab

[3] Hy Đức Mạnh, Bài giảng đại số tuyến tính và hình học giải tích, Tài liệu học tập cho sinh viên tại học viện Kỹ Thuật Quân Sự

Trang 13

HẾT

Ngày đăng: 23/06/2022, 14:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w