GVHD: HOÀNG HẢI HÀ NHÓM: 10 Đào Văn Tuấn Nguyễn Hải Đăng Bùi Hữu Đang Phạm Công Hậu Nguyễn Đình Đạt Phạm Văn Đạt Lê Minh Quang
1713773 1811912 1811828 1812143 1811869 1811892 1612761
Mục Lục: I. Cơ sở lý thuyết a. Ý tưởng ........................................................................................... 3 b. Ý nghĩa hình học ............................................................................ 3 II. Đề tài 2 1. Bài làm............................................................................................ 4 2. Giải thích code................................................................................ 6 3. Một số ví dụ .................................................................................... 7
2
I - Cơ sở lý thuyết a. Ý tưởng Biến đổi tương đương: f[x] = 0 x = g[x] Chọn giá trị ban đầu x0 ∈khoảng nghiệm [a,b], tính x1 = g[x0], x2= g[x1], … , xk = g[xk-1] Như vậy ta nhận được dãy {xn}, nếu dãy này hội tụ thì tồn tại giới hạn n->∞limxn =η [là nghiệm phương trình ] b. Ý nghĩa hình học Hoành độ giao điểm của 2 đồ thị y=x và y=g[x] là nghiệm phương trình
Trường hợp hình a: hội tụ đến nghiệm µ Trường hợp hình a: không hội tụ đến nghiệm µ [phân ly nghiệm] Sau đây ta xét định lý về điều kiện hôi tụ đến nghiệm sau một quá trình lặp Định lý [điều kiện đủ] Giả sử hàm g[x] xác định, khả vi trên khoảng nghiệm [a,b] và mọi giá trị g[x] đều thuộc [a,b]. Khi đó nếu ∃ q > 0 sao cho |g’[x]|≤q∞limxn =η là nghiệm duy nhất trên [a, b] Lưu ý: - Định lý đúng nếu hàm g[x] xác định và khả vi trong [-∞,+∞], trong khi đó điều kiện định lý thoả mãn. - Trong trường hợp tổng quát, để nhận được xấp xỉ xn vớI độ chính xác ε cho trước, ta tiến hành phép lặp cho đến khi 2 xấp xỉ liên tiếp thoả mãn: |xn+1 - xn | ≤ II - Đề tài 2 1. Bài làm NỘI DỤNG: Giải phương trình f[x] = 0 bằng phương pháp lặp đơn. • Cho phương trình x = g[x] và khoảng cách ly nghiệm [a,b] • kiểm tra điều kiện hội tụ của phương pháp • Tìm nghiệm xn với n nhập từ bàn phím. • Đánh giá sai số xn theo hai công thức tiên nghiệm và hậu nghiệm. • Tìm chỉ số n nhỏ nhất để sai số hậu nghiệm nhỏ hơn e với e nhập từ bàn phím. CODE Matlab: function lapdon syms x; y= input['nhap vao phuong trinh f[x]:']; g=input['Nhap phuong trinh x=g[x]:']; a=input['Nhap khoang cach ly nghiem a=']; b=input ['Nhap khoang cach ly nghiem b=']; while 1 4
g_daoham=diff[g,x]; if [abs[subs[g_daoham,a]]>abs[subs[g_daoham,b]]] q=abs[subs[g_daoham,a]]; else q=abs[subs[g_daoham,b]]; end if [qdelta n=n+1; tam=xn; xn=subs[g,xn]; end disp['So lan lap nho nhat theo yeu cau de bai la']; disp[n]; end 2. Giải thích code Kiểm tra điều kiện hội tù bằng cách tim Max[|g’[x]|] trong khoảng ly nghiệm [a,b]. Sử dụng hàm while để khi điều kiện hội tụ không thõa, ta yêu cầu nhập lại hàm x=g[x] khác. Dùng vòng lặp for để tìm nghiệm xn bằng công thức = [ ] Tìm SSHT và SSHN theo công thức.
6
Tìm số lần lặp nhỏ nhất để sai số nhỏ hơn e: dùng dòng lặp for cho đến khi lần lặp thứ n đạt được yêu cầu. 3. Một số ví dụ: Tính nghiệm gần đúng của phương trình [ ] = 5 − 20 + 3 bằng phương pháp lặp đơn tại lần lặp thứ 5 và đánh giá sai số. Khoảng cách ly nghiệm [0,1], = 0.75 Chạy hàm lapdon ta được: >> lapdon nhap vao phuong trinh f[x]:5*x^3-20*x+3 Nhap phuong trinh x=g[x]:5*x^3-19*x+3 Nhap khoang cach ly nghiem a=0 Nhap khoang cach ly nghiem b=1 Khong thoa dieu kien hoi tu Nhap phuong trinh x=g[x]:[5*x^3+3]/20 He so co q= 3/4 Nhap n=5 Nhap x0=0.75 xn= 0.150858 Sai so theo cong thuc tien nghiem: |xn-x| lapdon nhap vao phuong trinh f[x]:x^3-3*x^2-5 Nhap phuong trinh x=g[x]:3+5/x^2 Nhap khoang cach ly nghiem a=3 Nhap khoang cach ly nghiem b=4 He so co q= 10/27 Nhap x0=3.5 Nhap e = 10^[-3] So lan lap nho nhat theo yeu cau de bai la 4
i
ĐẠ
I H
Ọ
C QU
Ố
C GIA TP.H
Ồ
CHÍ MINH
TRƯ
Ê
NG ĐẠ
I H
Ọ
C BÁCH KHOA
KHOA ĐIỆ
N
–
ĐIỆ
N T
Ử
B
Ộ
MÔN
ĐIỆ
N T
Ử
---o0o---
BÁO CÁO BÀI T
Ậ
P L
Ớ
N
PHƯƠNG PHÁP TÍNH
GVHD:Phùng Tr
ọ
ng Th
ự
c SVTH MSSV Email Lê Vi
ệ
t Hoàng 1812266 Hoang.le108@hcmut.edu.vn Nguy
ễ
n Tu
ấ
n Ki
ệ
t 1812735 kiet.nguyen1812735@hcmut.edu.vn Hoàng Trung Kiên 1812700 kien.hoangtrung.kien@hcmut.edu.vn Ph
ạ
m Ng
ọ
c Lâm 1812777 lampham9102000@gmail.com Nguy
ễ
n Minh Khôi 1812681 khoi.nguyenkhoi_179@hcmut.edu.vn TP. H
Ồ
CHÍ MINH, THÁNG 5
NĂM 20
19
iii
L
Ờ
I M
Ở
ĐẦ
U
Ngày nay khoa học ngày càng ph
át
triển, với sự
phát
triển này việc ứng dụng khoa học và s
áng
tạo trong
khoa học ở trường học là rất thiết thực và quan trọng. Ch
ính vì
vậy, ngay từ năm đầu c
ác
giảng v
iên
Trư
ê
ng ĐH
Bách Khoa
Tp.HCM đ
ã giúp cho các sinh viên
ngành kỹ thuật làm quen với c
ác
ứng dụng lập
trình
trong đó
như Matlab.
MATLAB là một m
ôi tr
ườ
ng tính toán
số và lập tr
ình cho phép tính toán
số với ma trận, vẽ đồ thị hàm số hay biểu đồ th
ông
tin, thực hiện thuật t
oán
, tạo
các
giao diện ngườ
i dùng và liên
kết với những chương tr
ình máy tính
viết tr
ên
nhiều ng
ôn
ngữ lập tr
ình khác
Với thư viện Toolbox, MATLAB cho ph
ép mô ph
ỏ
ng tính toán
, thực
nghiệm nhiều m
ô hình
trong thực tế và kỹ thuật. Với hơn 40 năm h
ình thành và phát
triển, ngày nay với thiết kế sử dụng tương đối đơn giản và phổ th
ô
ng, MATLAB là cụng cụ t
ính toán
hữu hiệu để giải quyết c
ác bài toán
kỹ thuật.
Vì
vậy, đối với những bài
toán ta có
thể sử dụng c
á
c ứng dụng t
ính toán
của MATLAB để giải quyết theo c
á
ch đơn giản và dễ hiểu nhất, gi
úp chúng ta
làm quen và bổ sung th
ê
m kỹ năng sử dụng c
á
c chương tr
ì
nh, ứng dụng cho sinh
viên.