Tải bản đầy đủ (.doc) (14 trang)

Cơ sở và các thuật toán trong Khớp đường cong bằng phương pháp bình phương nhỏ nhất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (103.71 KB, 14 trang )

Lời nói đầu
Ngày nay thế giới chúng ta đã và đang là kỷ nguyên của sự bùng nổ
thông tin. Trong thời đại ngày nay khoa học kỹ thuật ngày một đợc ứng dụng
rộng rãi khắp mọi nơi trong mọi lĩnh vực, mọi nghành nghề và tin học phát
triển không ngừng từng giây, từng phút.Máy tính điện tử đơc sử dụng ,khai
thác triệt để trong mọi công việc , nh trong hàng không , quân sự , ngân
hàng ,đo lờng , tính toán , và nó cũng đợc sử dụng để giải quyết các bài toán
từ đơn giản đến phức tạp.Đề tài thực tập tốt nghiệp này cũng đựơc áp dụng để
thực hiện , tên đề tài: Cài đặt bài toán:"Khớp đờng cong" bằng phơng pháp
bình phơng nhỏ nhất.
Để hoàn thành đề tài tốt nghiệp này, bên cạnh nỗ lực của bản thân em
còn nhận đợc sự giúp quý báu của các thầy, cô và các bạn.
Em xin chân thành cảm ơn thầy Dơng Thăng Long đã tận tình hớng
dẫn em trong suốt quá trình thực hiện đề tài.
Cảm ơn khoa Công nghệ tin học đã tạo mọi điều kiện giúp đỡ em trong
suốt quá trình học tập ở trờng và các thầy cô đã hết lòng truyền đạt cho em
những kiến thức và kinh nghiệm quý giá. Cũng nh tất cả các bạn đã cùng trao
đổi giúp đỡ nhau trong quá trình học tập.
1
Cơ sở và các thuật toán trong đề tài
"Khớp đờng cong" bằng phơng pháp bình
phơng nhỏ nhất
1. Cơ sở:
Khi những giá trị dữ liệu không chính xác, thờng ta cần phải tởng tợng
ra hình dạng của hàm khớp và dữ liệu. Hàm này có thể phụ thuộc một tham
số.
f(x) = f(c
1
,c
2
...., c


M
, x)
và thủ tục điều chỉnh đờng cong là tìm cách chọn các tham số nào khớp
nhất với các giá trị quan sát đợc ở các điểm đã cho. Nếu hàm là một đa thức
(với tham số là những hệ số) và các giá trị là chính xác thì đây chính là phép
nội suy. Nhng ta đang xét những hàm tổng quát hơn và dữ liệu không đúng.
Để giản đơn hoá vấn đề, ta tập trung vào việc nối những hàm là tổ hợp tuyến
tính của hàm đơn giản hơn, với các tham số ẩn là các hệ số:
f(x) = c
1
f
1
(x) + c2f
2
(x) + ........ +c
M
f
M
(x)
Hàm này bao hàm hầu hết các hàm mà ta quan tâm. Sau khi nghiên cứu
xong trờng hợp này, ta sẽ xét đến những hàm tổng quát hơn.
Một các phổ thông để đo mức độ tốt của hàm nối là tiêu chuẩn bình ph-
ơng tổng quát. ở đây sai số đợc tính bằng cách thêm vào bình phơng sai số ở
mỗi điểm quan sát đợc.
E = Z (f(xj) - ỵ)
2
Đây là một phép đo rất tự nhiên: bình phơng đợc thực hiện để làm khử
các ớc lợc giữa các sai số với các số hiệu khác nhau. Hiển nhiên, điều ngời ta
mong muốn nhất là tìm ra một phép chọn các tham số sao cho tối thiểu hoá E.
Điều này khiến phép chọn có thể đợc tính có hiệu qủa; đây là phơng pháp

bình phơng nhỏ nhất, phơng pháp này đúng nh định nghĩa của nó. Để đơn
giản hoá đạo hàm, xét trờng hợp M=2, N=3. Giả sử có ba điểm x
1
,

x
2
,x
3
và các
giá trị tơng ứng y
1
,y
2
,y
3
thoả hàm có dạng:
f(x) = (c
1
f
1
(x1) + c2f
2
(x1) - y
1
)
2
+ (c
1
f

1
(x2) + c2f
2
(x2) - y
2
)
2

+ (c
1
f
1
(x3) + c2f
2
(x3) - y
3
)
2

Để tìm các phép chọn của c
1
và c
2
sao chỏ tối tiểu hoá sao số này, đơn
gian chỉ cần gán zero các đạo hàm dE/dc
1
và dE/dc
2
Với c
1

ta có :
2
1 j N
dE/dc
1
= 2(c
1
f
1
(x1) + c2f
2
(x1) - y
1
)
2
f
1
(x
1
)
+ (c
1
f
1
(x2) + c2f
2
(x2) - y
2
)
2

f
2
(x
2
)
+ (c
1
f
1
(x3) + c2f
2
(x3) - y
3
)
2
f
3
(x
3
)
Việc gán đạo hàm bằng zero cho ra phơng trình có biến là c
1
và c
2
phải
thoả (f1(x1), là các "hằng số" có trị biết trớc).
c
1
(f
1

(x
1
)f
1
(x
1
) + f
1
(x
2
)f
1
(x
2
) + (f
1
(x
3
)f
1
(x
3
)
+ c
2
(f
2
(x
1
)f

1
(x
1
) + (f
2
(x
2
)f
1
(x
2
) + (f
2
(x
3
)f
1
(x
3
))
= y
1
f
1
(x
1
) + y
2
f
1

(x
2
) + y
3
f
1
(x
3
)
Ta có phơng trình tơng tự, khi gán đạo hàm dE/dc2 về zero
Giả sử đa thức xấp xỉ bậc m của f là P(x) =
j=0
Cjx
với Cj (j = O
1
m) xác định từ hệ
0
C
0
+
1
C
1
+ ...... +
m
C
m
= t
0


1
C
0
+
2
C
1
+ ...... +
m+1
C
m
= t
1
..............

m
C
0
+
m+1
C
1
+ ...... +
2m
C
m
= t
m
Trong đó
k

= x (k= 0,2m)
ti = x f (x) (i = o
1
m)
với Cj (j = 0,m) xác định từ hệ phơng trình trên trong đó.
2. Các thuật toán dùng trong chơng trình Cài đặt bài toán: "Khớp đờng
cong" bằng phơng pháp bình phơng nhỏ nhất
2.1. Nhập dữ liệu
+ nhập từ file:
Nhập các toạ độ x
i
, y
i
vào máy toạ độ, số điểm n, bậc m của đa thức.
- hỏi xem có ghi vào file không nếu hỏi nhập tên tên file ghi dữ liệu vào
file đó.
+ nhập từ file:
yêu cầu nhập vào tên file, đọc file Read (f,n,m) nạp các qt từ file vào
hai mảng toạ độ do x, toạ độ y
For i = 1-> n
Read (f, toạ độ x[i], toạ độ y[i])
2.2. Tính mảng
-Tính toán các hệ số của mảng
a[i] [j], b[i] theo hệ pt (1)
2.3.Dùng phơng pháp gauss và thuật toán sytru giải hệ pt (1)
3
ThuËt to¸n gauss (§a ma trËn vÒ d¹ng tam gi¸c )

no


yes
4
Gauss
Input n, (¹i)
1
n
; (b
i
)
1
n
IER = 0
a
kk
≠ 0
P
i
=a
ik
/a
kk
k= 1, 2,...,n
i= k + 1, ..., n
j= k + 1, ..., n
a
þj
= p
i
a
kj

b
i
= b
i
- p
i
b
k
Call Sytru
IER = 1
Print (x
i
)
1
n
End
thuật toán Sytru (giải hệ phơng trình dạng tam giác)
no
yes
no
yes
2.4. Xây dựng hàm tính giá trị
5
IRE = 1
Procedure
Input n, {b
i
}
1
n

, a
ij
(1 i j n)
IER = 0
a
nn
0
x
n
= b
n
/ a
nn
i = n-1, n-2,...,1
S = b
i
j = i + 1, ..., n
S = S - a
ij
x
ij
a
ij
0
x
i
= S/a
ij
Return
Procedure

Input n, {b
i
}
1
n
, a
ij
(1 i j n)
IER = 0
a
nn
0
x
n
= b
n
/ a
nn
i = n-1, n-2,...,1
S = b
i
j = i + 1, ..., n
S = S - a
ij
x
ij
a
ij
0
x

i
= S/a
ij
Return

×