Professional Documents
Culture Documents
Spline Bậc 3 Và Code
Spline Bậc 3 Và Code
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
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');
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
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.