You are on page 1of 10

TRƯỜNG ĐẠI HỌC BÁCH KHOA

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH




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


PHƯƠNG PHÁP TÍNH
ĐỀ TÀI: L14
LỚP L10 - NHÓM 14 - HK 211
NGÀY NỘP ………………
Giảng viên hướng dẫn: ThS. Đoàn Thị Thanh Xuân

Sinh viên thực hiện Mã số sinh viên


Vũ Nguyễn Minh Tâm 2012014
Nguyễn Hữu Thắng 1713242
Trần Quyết Thắng 2010634
Hoàng Văn Thành 2014490
Nguyễn Trung Thành 2014501

Thành phố Hồ Chí Minh – 2021


MỤC LỤC

Trang

I. Cơ sở lý thuyết...………………………………………………………… 1

II. Chứng minh bài toán……………………………………………………... 2

III. Chương trình Matlab…………………………………..…………………. 5


I. Cơ sở lý thuyết:

Xét không gian tuyến tính Rn. Chuẩn của vectơ x ∈ Rn là một số thực, ký hiệu là ‖x‖, thỏa
các tính chất sau đây:
a ) ∀ x ∈ R n ,‖x‖≥ 0 ,‖x‖=0 ↔ x=0
b) ∀ x ∈ R n , ∀ λ ∈ R ,‖λx‖=|λ|.‖ x‖
c) ∀ x , y ∈ Rn ,‖x + y‖≤‖x‖+‖ y‖ . Tính chất này thường được gọi là bất đất thức trong
tam giác.
Trong Rn có thể có rất nhiều chuẩn, tuy nhiên chúng ta chỉ xét chủ yếu hai chuẩn thường
dùng sau đây: ∀ x=¿
n
∥ x ∥ 1=|x 1|+|x 2|+…+|x n|=∑ |x k| ( chuẩn cột )
k=1
∥ x ∥ ∞=max (|x 1| ,|x 2|, … . ,|x n|) =max|x k| ( chuẩn hàng )
k=1 , n

[ 1 0]
Ma trận có kích thước 2x2 là ma trận có 2 hàng 2 cột : 0 1 , ma trận có kích thước 2x1

[ 1]
là ma trận có 2 hàng 1 cột : 0 . Dạng tổng quát a ij trong đó i là số hàng j là số cột.
‖ Ax‖
‖ A‖=max‖ Ax‖=max ( chuẩn ma trận)
‖ x‖=1 ‖x‖ ≠0 ‖x‖
‖ Ax‖≤‖ A‖‖x‖
Từ công thức trên ta có :
n
∥ A ∥1=max ∑ |a ij| ( chuẩn cột của ma trận)
1 ≤ j ≤n i=1
n
∥ A ∥∞ =max ∑ |aij| ( chuẩn hàng của ma trận)
1 ≤i ≤n j=1

II. Chứng minh bài toán:


Đề bài

1
Gọi A và B là 2 ma trận kích thước 2x2. Ta có điều kiện luôn đúng:
‖ A‖1‖x‖1≥ ‖ Ax‖1 (x là ma trận kích thước 2x1).
Xét A và B tách thành 2 ma trận con cấp 2x1:

( BB ₁₁₂₁) và B =( BB ₁₂₂₂)
B 1= 2

A ₁₁ A ₁₂
A =( A ) và A =(
1
21 A ₂₂ )
2

Từ điều kiện luôn đúng ta có (1), (2)

‖ A1‖1‖B1‖1 ≥‖ AB1‖1
(1) {
‖ A1‖1‖B2‖1 ≥‖ AB2‖1

‖ A2‖1‖B1‖1 ≥‖ AB 1‖1
(2) {‖ A2‖1‖B2‖1 ≥‖ AB 2‖1

Ta có:
‖ AB1‖1
‖ AB‖1=
{
‖ AB2‖1
. Đặt ‖ AB1‖1 là a; ‖ AB 2‖1 là b.

‖ A1‖1‖B1‖1
‖ A‖1‖B‖1=

xuống là m; n; p; q.
{
‖ A1‖1‖B2‖1
‖ A2‖1‖B1‖1
‖ A2‖1‖B2‖1
. Đặt 4 trường hợp chuẩn 1 của ‖ A‖1‖B‖1 lần lượt từ trên

2
Theo đề bài ta cần chứng minh ‖ A‖1‖B‖1 ≥‖ AB‖1
m
a
{ n
{
hay ≤ p . Mà từ (1) và (2) ta đã có:
b
q
m n
a≤
p
và b ≤{ q
. {
Vậy ta cần chứng minh:

{nq và b ≤ {mp .
a≤
n
Xét khi a ≤ { ta có: ‖B ‖ ≥‖B ‖ 2 1 1 1
q
‖ A‖1‖B 2‖1 ≥‖ A‖1‖B1‖1 ≥‖ A B1‖1 hay n ≥ a. {
⇒ q
m
n
Vậy a ≤ p .
q
{ (3)

Chứng minh tương tự với b ≤ {mp ta có: ‖B ‖ ≥‖B ‖ 1 1 2 1

‖ A‖ ‖B ‖ ≥‖ A‖ ‖B ‖ ≥‖ AB ‖ hay {n ≥ b.
1 1 1 1 2 1 2 1
⇒ q
m
n
{
Vậy b ≤ p . (4)
q
Từ (3) và (4) ta kết luận với mọi ma trận B kích thước 2x2 thì ta luôn có ‖ A‖1‖B‖1 ≥‖ AB‖1

Ví dụ dấu bằng xảy ra:

Giả sử dấu “=” xảy ra một trong trường hợp chuẩn của ma trận B 1 có kích cỡ 2x1 bằng 1
trong 4 trường hợp trên:
1 2 B11
[ ] ( )
Cho ma trận A= 3 4 với ma trận B1= B trong trường hợp ‖B1‖=1.
21

Bài làm
‖B1‖=1 => |B11|+|B 21|=1
∥ A B 1 ∥1 =|B11 +2 B21|+|3 B11 + 4 B21|≤ 4 |B 11|+6|B21|=4+2|B21|≤6
Dấu bằng xảy ra khi |B11|=0, |B21|=1 =>∥ A ∥1=6

3
III. Chương trình Matlab:
 Chương 3: phương pháp nhân tử LU (tìm ma trận LU từ A)

n=input('Enter the size of matrix:');


fprintf("Matrix A")
for x=1:n
for y=1:n
A(x,y)=input('Enter an element');
end
end
fprintf("Matrix B");
for a=1:n
B(a,1)=input('Enter the elements');
end
X=zeros(n,1);
Y=zeros(n,1);
L=zeros(n,n);
U=A;
flag=2;
for b=1:n
for a=flag:n
holder=U(a,b)/U(b,b);
L(a,b)=holder;
for c=1:n
U(a,c)=U(a,c)-holder*U(b,c);
end
end
flag=flag+1;
end
for i=1:n
L(i,i)=1;
end
A
L
U
Y=inv(L)*B
X=inv(U)*Y
X

4
 Chương 4: nội suy pheo phương pháp Newton

Code 1:
n=input('Enter number of entries');
for a=1:n
X(a)=input('Enter elements of X');
end
for b=1:n
Y(b)=input('Enter elements of Y');
end

5
for i=1:n-1
d(i,1)=Y(i+1)-Y(i);
end
for j=2:n-1
for i=1:n-j
d(i,j)=d(i+1,j-1)-d(i,j-1);
end
end
d
x=input('Enter particular value of x:');
h=X(2)-X(1);
p=(x-X(n))/h;
y=Y(n);
prod=1;
for t=1:n-1
prod=prod*(p+t-1)/t;
y=y+prod*d(n-t,t);
end
y
fprintf(' Value of y at x is %f',y);
x 1891 1901 1911 1921 1931
y 46 66 81 93 101

6
Code 2:
n=input('Enter number of entries');
for a=1:n
X(a)=input('Enter elements of array X');
end
for b=1:n
Y(b)=input('Enter elements of array Y');
end
x=input('Enter particular value of x at which we have to find value of y');
h=X(2)-X(1)
for i=1:n-1
d(i,1)=Y(i+1)-Y(i);
end
for j=2:n-1
for i=1:n-j
d(i,j)=d(i+1,j-1)-d(i,j-1);
end

7
end
p=(x-X(1))/h
prod=1;
y=Y(1);
for t=1:n-1
prod=prod*(p-t+1)/t;
y=y+prod*d(1,t);
end
d
y

θ° 45 ° 50° 55° 60°


sinθ 0.7071 0.7660 0.8192 0.8660

You might also like