Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Lập đa thức nội suy bằng công thức nội suy Lagrange

Share

kieudiem
Nhập môn
Nhập môn

Tổng số bài gửi : 17
Points : 48
Join date : 14/11/2009

Lập đa thức nội suy bằng công thức nội suy Lagrange

Bài gửi  kieudiem on Sat May 22, 2010 12:54 pm

Code:

(*lap da thuc noi suy tu 4 diem ban dau nhu sau*)
L = {{1, 17}, {2, 27.5}, {3, 76}, {4, 210.5}};
yiPi[L_, i_] := Module[{t, m, j},
    t = 1;
    m = 1;
    For[j = 1, j ≤ Length[L], j++,
      If[i ≠ j,
          t = Expand[t (x - L[[j, 1]])];
          m *= L[[i, 1]] - L[[j, 1]];
          ];
      ];
    Return[Expand[L[[i, 2]](t/m)]];
    ]

Lagrange[L_] := Module[{i, r},
    r = 0;
    For[i = 1, i ≤ Length[L], i++,
      r = Plus[r, yiPi[L, i]];
      ];
    Return[r];
    ]
Print["P(x)= ", Lagrange[L]];
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Công thức nội suy Lagrange

Bài gửi  admin on Sat Mar 12, 2011 4:45 pm

Code:
Clear[X, Y, n, temp, i, f, P];
n = Input["Nhap so n+1 diem"];
X = {};
i = 1;
While[i ≤ n,
       temp = Random[Integer, {-100, 100}];
       If[Intersection[X, {temp}] == {},
            X = Append[X, temp];
            i++;
         ];
    ];
Y = Table[Random[Integer, {-100, 100}], {i, n}];
P = Table[Product[If[j ≠ i, (x - X[[j]])/(X[[i]] - X[[
        j]]), 1], {j, n}], {i, n}];
f = Simplify[Sum[Y[[i]] P[[i]], {i, n}]];
Print["P(x) = ", f];

    Hôm nay: Tue Dec 11, 2018 8:15 pm