文档详情

Newton插值法精选.doc

发布:2017-06-04约8.89千字共8页下载文档
文本预览下载声明
《数值分析》实验报告 学号: 姓名: 班级: 日期: 题目:Newton插值法 的函数表如下 x 0.0 0.1 0.2 0.3 0.4 0.5000 0.5398 0.5793 0.6179 0.7554 (1)编程实现求Newton插值(2)用Newton算法求的近似值,统计计算时间,并与lagrange算法进行比较。 1、算法:step 1 输入[x0,x1,…xn],[y1,y2,…yn]; step 2 对j=0,1,2…n; di-yi; step 3 对k=0,1,2…n-1; dj=(dj-d(j-i))/(xi-x(j-k-1)); step 4 输出[d0,d1,…dn] 程序:(Matlab) ①建立自定义函数Chashang.m function f=Chashang(x,y,X) syms t; %定义符号变量t,进行公式的化简和计算; n=length(x); %测量向量x的长度,赋给n; m=length(y); %测量向量y的长度,赋给m; if m~=n %判断m和n是否相等,就是判断x与y是否一一对应; error(样本数据中的x与y的对应个数不匹配); end A=zeros(n,n); %定义一个n行n列的零矩阵; A(:,1)=y; %把向量y转置,赋给零矩阵的第一列; for j=2:n %第一个循环,变量为j,用来表示第几行; for i=1:(n-j+1) %第二个循环,变量为i,用来表示第几列; A(i,j)=(A(i+1,j-1)-A(i,j-1))/(x(i+j-1)-x(i)); %差商公式,A(i,j)表示零矩阵的第j行,第i列; end end A %得到差商矩阵A; ②编写函数调用。 x=[]; %对应x值; y=[]; %已知的函数值; X=[]; %插值节点; f=Chashang(x,y,X) %调用函数得到差商值; 2、㈠利用1中的求差商的算法,把求出的差商矩阵的提取对角线元素,利用秦九韶算法,得到牛顿插值多项式。 ①首先建立自定义函数Newton.m function f=Newton(x,y,X) syms t; %定义符号变量t,进行公式的化简和计算; n=length(x); %测量向量x的长度,赋给n; m=length(y); %测量向量y的长度,赋给m; if m~=n %判断m和n是否相等,就是判断x与y是否一一对应; error(样本数据中的x与y的对应个数不匹配); end A=zeros(n,n); %定义一个n行n列的零矩阵; A(:,1)=y; %把向量y转置,赋给零矩阵的第一列; for j=2:n %第一个循环,变量为j,用来表示第几行; for i=1:(n-j+
显示全部
相似文档