newpoly.m

来自「关于数值计算的matlab程序代码,包含了很多的实用的算法.程序全部可以直接用的」· M 代码 · 共 40 行

M
40
字号
function [C,D]=newpoly(X,Y)%Input   - X is a vector that contains a list of abscissas%        - Y is a vector that contains a list of ordinates%Output  - C is a vector that contains the coefficients%          of the Newton intepolatory polynomial%        - D is the divided difference table%  NUMERICAL METHODS: Matlab Programs% (c) 2004 by John H. Mathews and Kurtis D. Fink%  Complementary Software to accompany the textbook:%  NUMERICAL METHODS: Using Matlab, Fourth Edition%  ISBN: 0-13-065248-2%  Prentice-Hall Pub. Inc.%  One Lake Street%  Upper Saddle River, NJ 07458n=length(X);D=zeros(n,n);D(:,1)=Y';%Use formula (20) to form the divided difference tablefor j=2:n   for k=j:n      D(k,j)=(D(k,j-1)-D(k-1,j-1))/(X(k)-X(k-j+1));   endend%Determine the coefficients of the Newton interpolatory polynomialC=D(n,n);for k=(n-1):-1:1   C=conv(C,poly(X(k)));   m=length(C);   C(m)=C(m)+D(k,k);end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?