首页 > 代码库 > MATLAB实现牛顿插值
MATLAB实现牛顿插值
牛顿插值法的原理,在维基百科上不太全面,具体可以参考这篇文章。同样贴出,楼主作为初学者认为好理解的代码。
function p=Newton1(x1,y,x2)%p为多项式估计出的插值syms xn = length(x1);%差商的求法for i=2:n f1(i,1)=(y(i)-y(i-1))/(x1(i)-x1(i-1));endfor i=2:n for j=i+1:n f1(j,i)=(f1(j,i-1)-f1(j-1,i-1))/(x1(j)-x1(j-i)); endendf1=[y‘,f1]% 输出带0阶差商的差商表格%Newton插值函数Newton=f1(1,1);for i=2:n tt=1; for j=1:i-1 tt=tt*(x-x1(j)); end Newton=Newton+f1(i,i)*tt;endfprintf(‘Newton插值函数为\n‘)expand(Newton) % 将连乘多项式合并展开x = x2;p = eval(Newton); % 代入值计算%fprintf(‘Newton插值函数在所求点x2的函数值为\n‘)%p
MATLAB实现牛顿插值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。