BÀI GIẢNG MATLAB - Trang 123

119

Trước hết nhập số liệu vào hai véctơ và nối các điểm ta được

>> x = [0, 0.5, 1.0,1.5, 2, 2.5,3, 3.5,4, 5, 6, 6.1, 7];

>> y = [300,281,261,244, 228,214,202,191,181,164,151,149,141];

>> plot(x,y,

'ko'

, x,y,

'k-'

), grid

on

, xlabel(

'x'

), ylabel(

'y'

)

0

1

2

3

4

5

6

7

100

150

200

250

300

x

y

Hình 5-2. Đường nối các điểm dữ liệu

Từ hình 5-2 ta thấy các điểm phân bố không theo đường thẳng, nên ta sẽ thử với
các đa thức bậc 2 và 3.

>> n=2; % Xap xi bang duong bac hai

>> p = polyfit(x,y,n)

>> a=p(1); b=p(2); c = p(3);

>> w = a*x.^2+b*x+c;

>> e = w-y;

>> S2= sum(e.*e)

S2 = 15.4079

>> n=3; % Xap xi bang duong bac ba

>> p = polyfit(x,y,n)

>> a=p(1); b=p(2); c = p(3); d = p(4);

>> w = a*x.^3+b*x.^2+c*x+d;

>> e = w-y;

>> S3= sum(e.*e)

S3 = 2.7933

So sánh S2 và S3 ta thấy đường cong bậc 3 sẽ phù hợp hơn đường cong bậc 2.

>> p = polyfit(x,y,3)

p =

-0.1290 3.8030 -43.1278 300.5634

>> a = p(1); b = p(2); c = p(3); d = p(4);

>> x3 = [0:0.1:7];

>> y3 = a*x3.^3+b*x3.^2+c*x3+d;