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
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
Comment