MATLAB - Đa thức
MATLAB biểu diễn đa thức dưới dạng vectơ hàng chứa các hệ số được sắp xếp theo lũy thừa giảm dần. Ví dụ, phương trình P (x) = x 4 + 7x 3 - 5x + 9 có thể được biểu diễn dưới dạng:
p = [1 7 0 -5 9];
Đánh giá đa thức
Các polyvalhàm được sử dụng để đánh giá một đa thức tại một giá trị được chỉ định. Ví dụ: để đánh giá đa thức trước của chúng tap, tại x = 4, nhập -
p = [1 7 0 -5 9];
polyval(p,4)
MATLAB thực hiện các câu lệnh trên và trả về kết quả sau:
ans = 693
MATLAB cũng cung cấp polyvalmhàm đánh giá đa thức ma trận. Đa thức ma trận là mộtpolynomial với ma trận là biến.
Ví dụ, chúng ta hãy tạo một ma trận vuông X và đánh giá đa thức p, tại X -
p = [1 7 0 -5 9];
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)
MATLAB thực hiện các câu lệnh trên và trả về kết quả sau:
ans =
2307 -1769 -939 4499
2314 -2376 -249 4695
2256 -1892 -549 4310
4570 -4532 -1062 9269
Tìm gốc rễ của đa thức
Các rootshàm tính toán các căn của một đa thức. Ví dụ, để tính số gốc của đa thức p, hãy nhập -
p = [1 7 0 -5 9];
r = roots(p)
MATLAB thực hiện các câu lệnh trên và trả về kết quả sau:
r =
-6.8661 + 0.0000i
-1.4247 + 0.0000i
0.6454 + 0.7095i
0.6454 - 0.7095i
Chức năng polylà một nghịch đảo của hàm gốc và trả về các hệ số đa thức. Ví dụ -
p2 = poly(r)
MATLAB thực hiện các câu lệnh trên và trả về kết quả sau:
p2 =
Columns 1 through 3:
1.00000 + 0.00000i 7.00000 + 0.00000i 0.00000 + 0.00000i
Columns 4 and 5:
-5.00000 - 0.00000i 9.00000 + 0.00000i
Phù hợp đường cong đa thức
Các polyfithàm tìm các hệ số của một đa thức phù hợp với một tập dữ liệu theo nghĩa bình phương nhỏ nhất. Nếu x và y là hai vectơ chứa dữ liệu x và y được lắp vào một đa thức bậc n, thì chúng ta nhận được đa thức vừa với dữ liệu bằng cách viết:
p = polyfit(x,y,n)
Thí dụ
Tạo tệp kịch bản và nhập mã sau:
x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67]; %data
p = polyfit(x,y,4) %get the polynomial
% Compute the values of the polyfit estimate over a finer range,
% and plot the estimate over the real data values for comparison:
x2 = 1:.1:6;
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on
Khi bạn chạy tệp, MATLAB hiển thị kết quả sau:
p =
4.1056 -47.9607 222.2598 -362.7453 191.1250
Và vẽ biểu đồ sau: