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: