You are on page 1of 6

Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

1
i. ( )
k k
g x y = , vi k= 0, 1, , n tc l

() {

()

()

()

(1.1)

Xt on [
k
x ,
1 k
x
+
], t
1 k k k
h x x
+
= , ta c
2 3
( ) ( ) ( ) ( )
k k k k k k k k
g x a b x x c x x d x x = + + + (1.2)

Cn xc nh cc h s , , ,
k k k k
a b c d


Vi iu kin (iii) a
k
= g(x
k
) = g
k
(x
k+1
) = y
k
ta suy c biu thc (1)
( )
( )
2 1
2 1
1 1 1 1 1
1
1,..., 1
0,1,..., 1
k k
k k k k k
k
k k
k k k k k
k
y y
b c h d h k n
h
y y
b c h d h k n
h
+


= =

= =


Vi iu kin (i) g
k-1
(x
k
) = g
k
(x
k
) suy ra biu thc (2)
1
1
1
3
0,1,..., 1
k k
k
k
k k
k
k
c c
d
h
c c
d
h
k n

+

=



T iu kin (1) v (2) ta xc nh c 3 h s , ,
k k k
a b d thng qua
k
c :

1
1
1
( 2 )
3
0,1,..., 1
k k
k k k
k k k
k
k k
k
k
a y
y y h
b c c
h
c c
d
h
k n
+
+
+
=

= +

(1.3)

Trong h s
k
c c xc nh t iu kin (iii) tho mn h phng trnh gm (n-1)
phng trnh vi (n+1) n t
0
c n
n
c :

1 1
1 1 1 1
1
2( ) 3( )
1,..., 1
k k k k
k k k k k k k
k k
y y y y
h c h h c h c
h h
k n
+
+


+ + + =

(1.4)

Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

2
Vi trng hp Spline bc 3 bin rng buc, ta c thm 2 iu kin bin:
''( )
'( )
g a
g b
o
|
=

(1.5)
Qua b sung thm 2 phng trnh:
0
1
1 1 1
1
2
2
n n
n n n n
n
c
y y
h c h c b
h
o
|

| |
+ =
|

\ .
(1.6)

Kt hp h (1.3) v (1.4), ta thu c h phng trnh i s tuyn tnh UT=V gm (n+1)
phng trnh xc nh y d (n+1) n t
0
c n
n
c .
Ma trn A v vector B c dng:

0 0 1 1
1 1 2
2 1 1
1 1
2 0 0 ... 0 0
2( ) ... 0 0
0 2( ) ... 0 0
... ... ... ... ... ...
0 0 0 ... 2( )
0 0 0 ... 2
n n n
n n
h h h h
h h h
U
h h h
h h


| |
|
+
|
|
+
=
|
|
|
+
|
|
\ .
(1.7)

1 0 2 1
1 0
1 1 2
1 2
1
1
3
.........
n n n n
n n
n n
n
y y y y
h h
V
y y y y
b
h h
y y
b
h
o
|

| |
|
| |
|

|
|
\ .
|
|
=
|
| |
|

|
|
\ .
|
| | |

| |
\ . \ .
(1.8)

Sau khi xc nh c cc h s
k
c , t cng thc (1.3) ta s xc nh c cc h s
, ,
k k k
a b d cn li.


2) Code matlab .
1) function Bai1SplineBac3
2) N= input('Nhap vao so diem nut noi suy N= '); % Nhap N=15
3) %x= input('Nhap vao vector x= ');
4) x= [1 2 4 5 8 10 13 14 17 19 21 22];
5) %y= input('Nhap vao vector y= ');
6) y= [0.1 4 6 5 2.3 9 10 15 30 2 35 -7];
7) alpha = 1; %input('Nhap vao gia tri dao ham tai diem dau alpha=
');
8) %y'(o.9)= 0.53
Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

3
9) beta = 1; %input('Nhap vao gia tri dao ham tai diem cuoi beta= ');
10) %y'(10.5)= -0.72
11)
12) [a,b,c,d]= SplineBacBaBienRangBuoc(N,x,y,alpha,beta); % Goi hm
con SplineBacBaBienRangBuoc, gia tri tra ko xuat ra man hinh nho
dau ;
13) disp(' '); % Bo trong 1 dong
14) %clf; % Xoa cac do thi da ve. Dung
dong nay khi ve do thi lien tiep cho cac ham khac nhau.
15) figure(1);% Tao figure so 1
16) k=1;
17) for i=1:11
18) for j=x(i):0.1:x(i+1)
19) xi(k)= j;
20) yi(k)= a(i) + b(i)*(j-x(i)) + c(i)*(j-x(i))^2 + d(i)*(j-
x(i))^3;
21) k=k+1;
22) end;
23) end;
24) subplot(111); % Tao vung do hoa so 1 o hang 1 cot
2
25) plot(xi, yi, 'b-'); % Ve do thi tron x va y voi net
lien mau do
26) grid on; % Hien mat luoi
27) title('\it{Do thi bai toan Spline bac 3 bien rang buoc}',
'Fontsiz', 16); % Ghi ten do thi
28) xlabel('Truc x'); % Ghi ten truc hoanh
29) ylabel('Truc y'); % Ghi ten truc tung
30) SoLanIn= 1:N-1;
31) s= num2str(N-1); % Doi s tu bien kieu so sang bien kieu
chuoi va chua gia tri (N-1)
32) a= a(1:N-1); % Truy xuat (N-1) phan tu cua vector
a tu 1>>N-1
33) b= b(1:N-1); % 2 dong truy xuat (N-1) phan tu vector b, d, ko
can ghi ra vi ban than da chung da chua (N-1) phan tu
34) d= d(1:N-1);
35) c= c(1:N-1); % Truy xuat (N-1) phan tu cua vector
c tu 1>>N-1
36) disp(['Ket qua duoc in ra ', s, ' bo gia tri (a, b, c, d).']);
37) disp([' ', 'So lan in Gia tri a Gia tri b Gia tri c Gia
tri d']);
38) disp([SoLanIn' a' b' c' d']); % Chuyen cac vector hang thanh
vector cot roi in ra man hinh
39) disp(' ') % Bo trong 1 dong
40)
41) function[a,b,c,d]= SplineBacBaBienRangBuoc(N,x,y,alpha,beta)
42) for i=1:N-1, h(i)= x(i+1)-x(i); end
43) A(1)= 1/2; A(N)= 2*h(N-1);
44) B(1)= 0; C(N-1)= h(N-1);
45) for i=2:N-1 % 3 vectors A, B, C chinh la bo 3 duong cheo
chinh
46) A(i)= 2*(h(i-1)+h(i)); B(i)= h(i); C(i-1)= h(i);
47) end % Ket thuc vong for thi xac dinh duoc cac
phan tu chinh cua Ma tran 3 duong cheo
Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

4
48) D(1)= alpha;
49) D(N)= 3*(beta-(y(N)-y(N-1))/h(N-1));
50) for i=2:N-1 % Vector D chinh la vector bo sung trong ma
tran mo rong
51) D(i)= 3*((y(i+1)-y(i))/h(i) - (y(i)-y(i-1))/h(i-1));
52) end % Ket thuc vong for thi xac dinh duoc (N-1)
phan tu cua vector D
53) c= MaTranBaDuongCheo(N,A,B,C,D); % Goi ham con
MaTranBaDuongCheo de tinh cac he so c(i)
54) for i=1:N-1 % Tinh cac he so a(i), b(i), d(i) con lai
55) a(i)= y(i);
56) b(i)= (y(i+1)-y(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3;
57) d(i)= (c(i+1)-c(i))/3/h(i);
58) end;
59)
60) function [x]=MaTranBaDuongCheo(N,a,b,c,d)
61) u(1)=a(1);v(1)=b(1);l(1)=c(1)/u(1);y(1)=d(1);
62) for i=2:N-1
63) u(i)=a(i)-l(i-1)*v(i-1);
64) v(i)=b(i);
65) l(i)=c(i)/u(i);
66) y(i)=d(i)-l(i-1)*y(i-1);
67) end;
68) u(N)=a(N)-l(N-1)*v(N-1);
69) y(N)=d(N)-l(N-1)*y(N-1);
70) x(N)=y(N)/u(N);
71) for i=N-1:-1:1
72) x(i)=(y(i)-v(i)*x(i+1))/u(i); % Ket qua thu duoc nghiem cua
bai toan Ma Tran 3 Duong Cheo
73) end;
3) Kt qu



Ket qua duoc in ra 11 bo gia tri (a, b, c, d).

So lan in Gia tri a Gia tri b Gia tri c Gia tri d
1.0000 0.1000 3.2035 2.0000 -1.3035
2.0000 4.0000 3.9597 -1.9104 0.2153
3.0000 6.0000 -0.4617 -0.6187 0.0804
4.0000 5.0000 -1.8703 -0.3774 0.2336
5.0000 2.3000 2.2987 1.7252 -0.5998
6.0000 9.0000 2.5772 -1.8734 0.3752
7.0000 10.0000 2.7148 1.5030 0.7822
8.0000 15.0000 9.0694 3.8496 -1.7353
9.0000 30.0000 -15.9706 -11.7685 6.3769
10.0000 2.0000 13.4783 26.4929 -12.4910
11.0000 35.0000 -39.2734 -48.4533 45.7266



Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

5
Hnh nh


4) Kt lun
- Chng ta xy dng c mt ng cong bo ton tnh kh vi ca hm (spline) t s
liu ca bi ton bng cch ni cc ng cong nh li vi nhau, v mi on nh c xc
nh bi cc a thc bc 3. Hm bc 3 c chng ta xy dng l cc hm c h s l cc b
s a, b, c, d.
- Mi b s a, b, c, d l cc h s ca hm s bc 3 xc nh trong cc khong xc
nh ( x
k,
x
k+1
) vi hm s c xc nh bi biu thc:
g
k
(x
k
) = a
k
+ b
k
(x x
k
) + c
k
( x - x
k
)
2
+ d
k
(x - x
k
)
3
( k=0,1,2,3n ).












Bi tp ln mn Phng Php Tnh hc k I nm hc 2010-2011

6

You might also like