Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-10-07
年龄: 35
帖子: 2
声望力: 0 ![]() |
![]()
function f=Language(x,y,x0)
%求已知数据点的拉格朗日差值多项式 %已知数据点的x坐标向量:x %已知数据点的y坐标向量:y %插值点的x坐标:x0 %求得的拉格朗日插值多项式:f %x0处的插值:f0 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+l:n) l=l*(t-x(j))/(x(i)-x(j)); end; f=f+l; simplify(f); end f0=subs(f,'t',x0); 看不出错误,运行时总出现Error in ==> D:\MATLAB安装软件\toolbox\symbolic\@sym\minus.m On line 26 ==> X = X(ones(size(A))); Error in ==> D:\MATLAB安装软件\work\Language.m On line 22 ==> l=l*(t-x(j))/(x(i)-x(j)); 请高手指教一下 ![]() |
![]() |
![]() |