Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

1 .

Hình trái chuối


* Đoạn code Matlab:
close all;
% Tạo một số điểm giả định xung quanh hình dạng trái chuối
x = [-3.48,-2.93,-2.49,-1.66,-0.82,0,1.23,2.33,3.47,3.69,3.14,2.44,1.38,0,-1,-1.9,-2.69,-3.33,-3.26,-3.66,-3.48];
y =[4.43,3.75,2.87,2.1,1.55,1.29,1.35,1.81,2.08,1.57,0.71,0.14,-0.3,-0.39,-0.19,0.34,0.89,2.17,3.11,4.01,4.43];
plot(x,y,'ro', 'MarkerSize', 15); % vẽ điểm
% Nội suy spline
t = 1:length(x);% dãy chỉ số của các phần tử trong mảng x.
tt = linspace(min(t), max(t), 1000); % Tạo nhiều điểm hơn giữa các điểm gốc
xx = spline(t, x, tt);
yy = spline(t, y, tt);
hold on;
plot(xx, yy, 'b-', 'LineWidth', 2); % Vẽ đường spline
axis equal
title('đồ thị hình trái chuối ');
xlabel('x');
ylabel('y');
legend('điểm nội suy','đường nội suy');

* Màn hình kết quả chạy :


*Bảng giá trị :
i 0 1 2 3 4 5 6 7 8 9 10 11
Xi -3.48 -2.93 -2.49 -1.66 -0.82 -0.1 1 2.33 3.47 3.69 3.14 2.44
Yi 4.43 3.75 2.87 2.1 1.55 1.29 1.35 1.81 2.08 1.57 0.71 0.14
i 12 13 14 15 16 17 18 19 20
Xi 1.38 0 -1 -1.9 -2.69 -3.33 -3.26 -3.66 -3.48
Yi -0.3 -0.39 -0.19 0.34 0.89 2.17 3.11 4.01 4.43

2 . Cổng Đại học Bách khoa Hà Nội


*Đoạn code Matlab:
close all;
% nhập các điểm của x với y
x = [-4.38,-4.25,-4.13,-3.96,-3.68,-3.3,-2.98,-2.57,-2.11,-1.53,-0.89,0,0.89,1.53,2.11,2.57,2.98,3.3,3.68,3.96,4.13,4.25,4.38];
y = [-1.85,-0.99,-0.4,0.24,1.02,1.98,2.75,3.51,4.25,4.95,5.54,6,5.54,4.95,4.25,3.51,2.75,1.98,1.02,0.24,-0.4,-0.99,-1.85];
plot(x,y,'ro', 'MarkerSize', 15); % vẽ điểm
% Nội suy spline
t = 1:length(x);% dãy chỉ số của các phần tử trong mảng x.
tt = linspace(min(t), max(t), 1000); % Tạo nhiều điểm hơn giữa các điểm gốc
xx = spline(t, x, tt);
yy = spline(t, y, tt);
hold on;
plot(xx, yy, 'b-', 'LineWidth', 2); % Vẽ đường spline
axis equal
title('đồ thị hình cổng parabol Bách Khoa ');
xlabel('x');
ylabel('y');
legend('điểm nội suy','đường nội suy');

* Màn hình kết quả chạy :


*Bảng giá trị :
i 1 2 3 4 5 6 7 8 9 10 11 12

Xi -4.38 -4.25 -4.13 -3.96 -3.68 -3.3 -2.98 -2.57 -2.11 -1.53 -0.89 0

Yi -1.85 -0.99 -0.4 0.24 1.02 1.98 2.75 3.51 4.25 4.95 5.54 6
i 13 14 15 16 17 18 19 20 21 22 23
Xi 0.89 1.53 2.11 2.57 2.98 3.3 3.68 3.96 4.13 4.25 4.38
Yi 5.54 4.95 4.25 3.51 2.75 1.98 1.02 0.24 -0.4 -0.99 -1.85

3 . Túi thần kỳ Doraemon

close all;
% nhập các điểm của x với y
x = [-1.26,-0.79,-0.38,0,0.39,0.65,0.86,0.87,0.76,0.49,0.25,0,-0.36,-0.65,-0.94,-1.1,-1.23,-1.26 ];
y = [3.57,3.64,3.66,3.66,3.69,3.69,3.69,3.35,3.06,2.78,2.63,2.5,2.53,2.62,2.77,2.97,3.19,3.57];
plot(x,y,'ro', 'MarkerSize', 15); % vẽ điểm
% Nội suy spline
t = 1:length(x);% dãy chỉ số của các phần tử trong mảng x.
tt = linspace(min(t), max(t), 1000); % Tạo nhiều điểm hơn giữa các điểm gốc
xx = spline(t, x, tt);
yy = spline(t, y, tt);
hold on;
plot(xx, yy, 'b-', 'LineWidth', 2); % Vẽ đường spline
axis equal
title('đồ thị hình cái túi thần kì của Doraemon ');
xlabel('x');
ylabel('y');
legend('điểm nội suy','đường nội suy');

* Màn hình kết quả chạy :


*Bảng giá trị :

i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Xi -1.26 -0.79 -0.38 0 0.39 0.65 0.86 0.87 0.76 0.49 0.25 0 -0.36 -0.65 -0.94
Yi 3.57 3.64 3.66 3.66 3.69 3.69 3.69 3.35 3.06 2.78 2.63 2.5 2.53 2.62 2.77
i 16 17 18
Xi -1.1 -1.23 -1.26
Yi 2.97 3.13 3.57

Giải thích các câu lệnh Matlab


3.3 các lệnh được dùng trong chương trình
Close all; lệnh dùng để đóng
Plot; Câu lệnh plot này dùng để vẽ các điểm có tọa độ x và y đã cho trên đồ thị, với ký hiệu ro (red o) chỉ điểm màu đỏ và hình tròn, MarkerSize 15
làm cho các điểm trở nên dễ nhận biết hơn
Length(x); sử dụng để xác định số lượng phần tử có trong mảng x. Hàm này trả về chiều dài lớn nhất của các kích thước mảng, thường là số lượng phần
tử trong một vector.
Axis equal; lệnh được sử dụng để tỉ lệ giữa trục x và y giúp cho hình của mình nhìn không bị lệch méo.
Xlabel; thêm kí hiệu ở trục x.
Ylabel; them kí hiệu ở trục y.
Hold on; dùng để vẽ thêm đồ thị mà không bị mất đồ thị ở trước.
Linspace; dùng để sinh ra một dãy số tuyến tính cách đều nhau giữa hai điểm đó là điểm đầu và điểm kết thúc, với sô lượng phần tử do người dùng chỉ
định.
Legend; dùng để chú thích trên đồ thị .

3.4 Các khối lệnh và ý nghĩa của nó trong chương trình

x = input (‘nhập x’); nhập ma trận của x vào

y= input (‘nhập y’); nhập ma trận của y vào

t = 1:length(x); được sử dụng để tạo một vector ‘t’ chứa một dãy số tăng dần từ 1 đến số lượng phần tử có trong mảng ‘x’. Ngoài ra ‘t’ được dùng để
tạo một cơ sở cho việc nôi suy spline. Giúp xác định "vị trí" của mỗi giá trị trong x và y để các giá trị này có thể được nội suy hoặc vẽ một cách chính
xác.
tt = linspace(min(t), max(t), 1000); dùng để tạo ra 1000 phần tử cách đều nhau từ giá trị bé nhất của vector t đến giá trị lớn nhất của vector t, nhằm mục
đích để tạo ra nhiều điểm hơn giữa các điểm gốc giúp đường đi nội suy của mình trông mượt hơn.
xx = spline(t, x, tt); Là các vector chứa tọa độ x của đường spline tại các điểm trong tt. Các giá trị này được tính toán bởi nội suy spline bậc 3.
yy = spline(t, y, tt); Là các vector chứa tọa độ y của đường spline tại các điểm trong tt. Các giá trị này được tính toán bởi nội suy spline bậc 3.

You might also like