1 / 32

代数插值法

代数插值法. 插值的基本概念 拉格朗日插值法 牛顿插值法. 插值的基本概念. 用处:根据函数 f(x) 已有的数据表格来计算函数 f(x) 在一些新的点 x 处的函数值。 定义:在所给定的函数表格中间再插入一些所需要的新点上的函数值。 因为多项式具有各阶导数,求值也比较方便,所以通常选多项式函数作为近似函数。. 插值的基本思想. 首先设法根据表格中已有的函数值来构造一个简单的函数 y(x) 作为 f(x) 的近似表达式,然后再用 y(x) 来计算新的点上的函数值作为 f(x) 的近似值。. 其中. 代数插值问题.

trevet
Download Presentation

代数插值法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 代数插值法 插值的基本概念 拉格朗日插值法 牛顿插值法

  2. 插值的基本概念 • 用处:根据函数f(x)已有的数据表格来计算函数f(x)在一些新的点x处的函数值。 • 定义:在所给定的函数表格中间再插入一些所需要的新点上的函数值。 • 因为多项式具有各阶导数,求值也比较方便,所以通常选多项式函数作为近似函数。

  3. 插值的基本思想 • 首先设法根据表格中已有的函数值来构造一个简单的函数y(x)作为f(x)的近似表达式,然后再用y(x)来计算新的点上的函数值作为f(x)的近似值。

  4. 其中 代数插值问题 设函数y=f(x)在区间[a,b]上是连续的,且已知f(x)在区间[a,b]上n+1个互异点处的函数值,即 寻找一个次数不高于n的多项式: 使满足条件: 称 为f(x)的插值多项式

  5. 插值的三个问题 • 插值问题的解是否存在?若解存在,是否唯一? • 如果插值多项式存在,则具体地又如何去求解或构造? • 插值多项式函数与原来的函数f(x)的误差有多少?

  6. 代数插值问题的唯一有解性 • 求解下列线性方程组:

  7. 线性方程组

  8. 时,有 当满足: 代数插值解的唯一性 • 范德蒙行列式

  9. 拉格朗日插值法 • 通过n+1互异点构造次数不超过n的插值多项式 • 设想将插值多项式表示成n+1个n次多项式的线性组合,即: • 其中

  10. 拉格朗日插值多项式 即: 将给定的条件 代入得到: 则:

  11. 对称性 拉格朗日插值多项式 通过给定点的插值多项式是唯一的,拉格朗日插值多项式只是其中的一种表示形式

  12. 拉格朗日插值公式的两种情形: • 线性插值y=f(x): (x0,y0), (x1,y1) • 二次(抛物线)插值y=f(x): (x0,y0), (x1,y1) ,(x2,y2)

  13. 符号计算—智能功能 • y = sym(‘2*sin(x)*cos(x)’) • % 把字符表达式转换为符号变量 • y = simple(y) • % 按规则把已有的y符号表达式成最简形式。

  14. 求矩阵A的相关表达式 • 行列式,逆阵和特征值 • syms a11 a12 a21 a22; • A=[a11,a12;a21,a22] • DA=det(A),IA=inv(A),EA=eig(A)

  15. 积分 • syms A t tao w; • yf=int(A*exp(-i*w*t),t,-tao/2,tao/2); • Yf=simple(yf)

  16. 例5-1 • 已知函数y=f(x)的观测数据为:

  17. 计算拉格朗日插值多项式 • function LagrangeCz(A) • x = A(1,:); • y = A(2,:); • yp = []; • y_str = []; • len = length(x);

  18. for ii = 1:len • yp = []; • for jj = 1:len • if(ii~=jj) • xii = num2str(x(ii)); • xjj = num2str(x(jj)); • yp = strcat(yp,'*(x-(',xjj,'))/((',xii,')-(',xjj,'))'); • end • end

  19. yf = num2str(y(ii)); • if(1==ii) • y_str = strcat(yf,yp); • else • y_str = strcat(y_str,'+(',yf,')',yp); • end • end • y0 = sym(y_str); • y = simple(y0)

  20. 编程解题和验证拉格朗日法 • 例5-1 P135 • 例5-2 P135

  21. 牛顿插值法 • 差商及其主要性质 • 牛顿插值公式

  22. 差商及其主要性质 • 差商定义:若已知函数f(x)在点xi(i=0,1,2,…n)处的函数值f(xi),则: 0阶差商: 1阶差商: 2阶差商:

  23. 类推出k阶差商

  24. 差商性质 • 性质一 • 性质二:若函数f(x)在包含结点的区间[a,b]上存在k阶导数:

  25. 牛顿插值公式 • 将n阶多项式表示为: • 则:

  26. 牛顿插值公式 • 类推: • 牛顿插值公式:

  27. 编程解题和验证牛顿插值法 • 例5-1 P135 • 例5-2 P135

  28. 计算牛顿插值多项式 • function NewtonCz(xy) • x = xy(1,:); • % y = xy(2,:); • yp = []; • y_str = []; • len = length(x);

  29. for ii = 1:len • val = DifDiv(xy(:,1:ii)); • yf = num2str(val); • if 1==ii • y_str = yf; • else • yp = []; • for jj = 1:ii-1 • xjj = num2str(x(jj)); • yp = strcat(yp,'*(x-(',xjj,'))'); • end • y_str = strcat(y_str,'+(',yf,')',yp);

  30. end • end • y0 = sym(y_str); • y = simple(y0)

  31. function val = DifDiv(xy) • x = xy(1,:); • y = xy(2,:); • count = length(x); • if 1>count • val = NaN; • return; • end • switch count • case 1 • val = y(1);

  32. case 2 • val = (DifDiv(xy(:,1))-DifDiv(xy(:,2)))/(x(1)-x(2)); • otherwise • val = (DifDiv(xy(:,1:end-1))-DifDiv([xy(:,1:end-2),xy(:,end)]))... • /(x(end-1)-x(end)); • end

More Related