Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2007-08-20
帖子: 2
声望力: 0 ![]() |
![]()
function f=language(x,y,x0)
syms t; if length(x)==length(y) n=length(x); else disp('x和y的维数不相等'); return; end f=0.0; for i=1:n l=y(i); for j=1:i-1 l=l*(t-x(j))/(x(i)-x(j)); end for j=i+1:n l=l*(t-x(j))/(x(i)-x(j)); end f=f+l; simplify(f); if i==n if nargin==3 f=subs(f,'t',x0); else f=collect(f); f=vpa(f,6); end end end function f=newton(x,y,x0) syms t; if length(x)==length(y) n=length(x); c(1:n)=0.0; else disp('x和y的维数不相等!'); return; end f=y(1); y1=0; l=1; for i=1:n-1 for j=i+1:n y1(j)=(y(j)-y(i))/(x(j)-x(i)); end c(i)=y1(i+1); l=l*(t-x(i)); f=f+c(i)*l; simplify(f); y=y1; if i==n-1 if nargin==3 f=subs(f,'t',x0); else f=collect(f); f=vpa(f,6); end end end |
![]() |
![]() |