Thông báo

Collapse
No announcement yet.

cho em hỏi về lập trình nội suy lagrange

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • cho em hỏi về lập trình nội suy lagrange

    Tình hình là ngày mai em báo cáo rồi ,có ai biết thì chỉ dùm em nha :
    function [l,L] = lagrange(x,y)
    %Dua vao : x = [x0 x1 ... xn], y = [y0 y1 ... yn]
    %ket qua: l = He so cua da thuc Lagrange bac n
    % L = Da thuc Lagrange
    n = length(x) - 1; %bac cua da thucl
    l = 0;
    for m = 1:n + 1
    p = 1;
    for k = 1:n + 1
    if k ~= m
    p = conv(p, [1 -x(k)])/(x(m) - x(k));
    end
    end
    L(m, : ) = p; %da thuc Lagrange
    l = l + y(m)*p;
    end
    Ví dụ như ta có :f(-2)=3, f(0)=6 ,f(1)=2 ,f(4)= -3 .Tính xấp xỉ tại f(2.5) ta gọi hàm trên command window:
    clear all,clc
    x=[-2 0 1 4]; y=[3 6 2 -3]
    l=lagrange(x,y);
    yx=polyval(l, 2.5)
    thế nhưng khi chạy chương trình nó lại báo lỗi ''??? Undefined function or method 'lagrange' for input arguments of type 'double'.''
    Vậy nghĩa là sao vậy ,ai rành về Matlab chỉ em cách sửa lỗi với .
    Lúc đầu em làm thì nó chạy được nhưng sao đó không biết lỡ tay làm gì mà nó chạy không được cứ báo lỗi hoài .Ai biết làm ơn chỉ dùm em nha .....cám ơn nhiều
    hacuoitanho Ä‘ang trong diá»…n đà n Report Post Sửa/Xóa Bài viết

  • #2
    Còn đây là kết quả mà mình chạy của bạn nè
    l =

    0.4028 -1.4306 -2.9722 6.0000
    >> yx=polyval(l, 2.5)

    yx =

    -4.0781

    Như vậy khả năng rất lớn là bạn lưu cái file lagrange.m ở đâu đó mà Matlab không biết chỗ đó
    Tốt nhất là lưu file đó ở thư mục work, nếu lưu ở thư mục khác thì set thêm đường dẫn

    Comment

    Về tác giả

    Collapse

    bongthoigian Tìm hiểu thêm về bongthoigian

    Bài viết mới nhất

    Collapse

    Đang tải...
    X