第8章 数据插值、函数逼近问题的 计算机求解 高等应用数学问题的 MATLAB求解 清华大学出版社2008 CAI课件开发:薛定宇、刘莹莹、董雯彬 2/20/2021星期六, 高等应用数学问题的 MATLAB求解 2008-9-6,13:1107 Slide 1(of 11) 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 第8章 数据插值、函数逼近问题的 计算机求解 高等应用数学问题的MATLAB求解 清华大学出版社2008 CAI课件开发:薛定宇、刘莹莹、董雯彬
第8章数据插值、函数 逼近问题的计算机求解 ↓插值与数据拟合 ↓样条插值与数值微积分问题求解 ↓由已知数据拟合数学模型 特殊函数及曲线绘制 ↓信号分析与数字信号处理基础 2/20/2021星期六, 2008-9-6,13:1107 Slide 1(of 11) 高等应用数学问题的 MATLAB求解 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 第8章 数据插值、函数 逼近问题的计算机求解 插值与数据拟合 样条插值与数值微积分问题求解 由已知数据拟合数学模型 特殊函数及曲线绘制 信号分析与数字信号处理基础
81插值与数据拟合 一维数据的插值问题 已知样本点的定积分计算 二维网格数据的插值问题 二维一般分布数据的插值问题 高维插值问题 ↓基于样本数据点的离散最优化求解 2/20/2021星期六, 2008-9-6,13:1107 Slide 1(of 11) 高等应用数学问题的 MATLAB求解 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 8.1 插值与数据拟合 一维数据的插值问题 已知样本点的定积分计算 二维网格数据的插值问题 二维一般分布数据的插值问题 高维插值问题 基于样本数据点的离散最优化求解
811一维数据的插值问题 维插值问题的求解 Lagrange插值算法及应用 2/20/2021星期六, 2008-9-6,13:1107 Slide 1(of 11) 高等应用数学问题的 MATLAB求解 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 8.1.1 一维数据的插值问题 一维插值问题的求解 Lagrange插值算法及应用
811.1一维插值问题的求解 →一维插值 interp1()函数的调用格式为: y1=interp1(, y, 1, method) →插值方法: e linear:默认方法 e cubic:当前版本的 MATLAB中改为 pchip nearest e spline 2/20/2021星期六, 2008-9-6,13:1107 Slide 1(of 11) 高等应用数学问题的 MATLAB求解 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 8.1.1.1 一维插值问题的求解 一维插值interp1()函数的调用格式为: 插值方法: linear:默认方法 cubic:当前版本的MATLAB中改为pchip nearest spline
运用外推法,在区间{1,N外的点的插值的 函数调用格式为 y1=interp1(, y, 1, method, ',) 2/20/2021星期六, 高等应用数学问题的 MATLAB求解 2008-9-6,13:1107 Slide 1(of 11) 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 运用外推法,在区间 外的点的插值的 函数调用格式为
4例8.1 已知的数据点来自函数 f(x)=(x2-3x+5)e-5 sin 根据生成的数据进行插值处理,得出较平 滑的曲线直接生成数据 MATLAB求解语句: ∈>>x=0:.12:1 y=(x.2-3*x+5).*exP(-5*x)*sin(x); plot(x,y,x,y,’o3) 2/20/2021星期六, Slide 1(of 11) 高等应用数学问题的 MATLAB求解 2008-9-6,13:1107 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 例 8.1 已知的数据点来自函数 根据生成的数据进行插值处理,得出较平 滑的曲线直接生成数据 MATLAB求解语句:
→调用 interp1()函数: >>x1=0:02:1;y1= interp1(x,y,x1); yO=(x1.^2-3*x1+5).*exP(-5*x1).*sin(x1) y2=interp1(x, y, x1, cubic); y3=interp1(x,y, x1,'spline,) y4=interp1(x, y, x1, 'nearest ) p1ot(x1,[y1’,y2,y3,y4’] :),x,y,’o,x1,yo) 验证结果: >>[max(abs(y0(1:49)-y2(1:49))), max(abs(yo-y3)), max(abs(y0-y4))] 2/20/2021星期六, 2008-9-6,13:1107 Slide 1(of 11) 高等应用数学问题的 MATLAB求解 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 调用interp1()函数: 验证结果:
例8.2 编写一段程序,允许利用插值方法手工绘 制一条光滑的曲线利用插值方法手工绘制 条光滑的曲线 function sketcher (vis) x=[];y=[];i=1;h=[];axes(gca) While 1, [xo, yo, but]=ginput(1) f but==1, x=[x, xo]; y=Ly, yo]: h(i)=line(xo, yO); set(h(i), Marker,,'0,); 1=i+1 else, break; end end 2/20/2021星期六, 高等应用数学问题的 MATLAB求解 2008-9-6,13:1107 Slide 1(of 11) 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 例 8.2 编写一段程序,允许利用插值方法手工绘 制一条光滑的曲线利用插值方法手工绘制 一条光滑的曲线
接上页 if nargin==1, delete(h); end xx=[x(1):(x(end)-x(1))/100:x(end)]; yy=interp1(x, y, xx,,spline ); line(xx, yy) ↓需要用户自己选定几个点,然后就能绘制 出一条光滑的曲线 在绘制图形时,若给出Vs变量,则绘制的 图形保留样本点处的圆圈,否则在绘制图 形后删去圆圈 2/20/2021星期六, 高等应用数学问题的 MATLAB求解 2008-9-6,13:1107 Slide 1(of 11) 东北大学信息学院
高等应用数学问题的MATLAB求解 东北大学信息学院 Slide 1 (of 11) 2/20/2021星期六, 2008-9- 6, 13:11:07 接上页 需要用户自己选定几个点,然后就能绘制 出一条光滑的曲线 在绘制图形时,若给出vis变量,则绘制的 图形保留样本点处的圆圈,否则在绘制图 形后删去圆圈