插值与拟合2
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 三次样条插值指令 pp=csape({x0,y0},z0,conds,valconds), y = fnval(pp,{x,y}). 例3 在一丘陵地带测量高程,x和y方向每隔 100m测一个点,得到高程如表3所列,试插值一
曲面,确定合适的模型,并由此找到最高点和该点
的高程.
• 插值点为散乱点: • 插值函数 ZI=griddata(x0,y0,z0,XI,YI)
• 多项式拟合
– – – –
– பைடு நூலகம் – – –
对给定的数据(xj,yj),j = 0,1,…, n 选取适当阶数的多项式(也可采用其它形式的函数) 例如二次多项式g(x)=ax^2+bx+c 使g(x)尽可能逼近(拟合)这些数据
用p=polyfit(x1,y1,m)做 m 次多项式拟合 拟合数据向量为x1,y1 多项式系数为p=[p(1),…,p (m),p (m+1)] 即g(x)=p(1)x^m+…p (m)x+p (m+1) 用y = polyval(p,x)计算在x 处 多项式的值 y
表1 机 翼 断面 的 下轮 廓 线 上的 数 据 3 5 7 9 11 12 13 14 15 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
x y
0 0
• 用程控铣床加工机翼断面的下轮廓线时 • 每一刀只能沿x方向和y方向走非常小的一步。 • 表1给出了下轮廓线上的部分数据 • 但工艺要求铣床沿x方向每次只能移动0.1单位. • 这时需求出当x坐标每改变0.1单位时的y坐标。
• 插值函数 z=interp2(x0,y0,z0,x,y,'method')
– 对应于插值函数z=g(x,y) – 其中x0,y0,z0为已知节点数据 – method=四个选项:
• ‘nearest’ 为近邻插值;‘linear’为线性插值; • ‘spline’ 为样条插值; 'cubic'为立方函数插值。
• 拟合指令polyfit、polyval
例5 某乡镇企业1990-1996年的生产利润如
表5所列,试预测1997年和1998年的利润.
• 解方程组方法 例6 用最小二乘法求一个形如y=a+bx2的经 验公式,使它与表6所列的数据拟合.
拟合(非线性)
• 常用非线性拟合指令
1. lsqlin函数; 2. lsqcurvefit函数; 3. lsqnonlin函数; 4. lsqnonneg函数. 具体利用 doc 查看
103.5
23.0 6 77.0 3.0 8
88.0
147.0 8 81.0 56.5 8
185.5 195.0
22.5 6 162.0 -66.5 9 137.5 8 162.0 84.0 4
105.5
85.5 8 117.5 -33.5 9
z 4 x 157.5 y -6.5 z 9
拟合(线性)
插值(一维)
• 插值:
– – – – 构造一个相对简单的函数 y=g(x) 使g通过全部节点 即使g (xj) = yj,j=0,1,…, n 用g (x)作为函数f ( x )的近似。
• 插值函数 y=interp1(x0,y0,x,'method')
– 对应于插值函数y=g(x) – 其中x0,y0为已知节点数据 – method=四个选项:
– 其中x0,y0,z0为已知节点数据.
具体调用 doc griddata 查看.
例4.航行区域的警示线
• 某海域上频繁地有各种吨位的船只经过。
• 为保证船只的航行安全,有关机构在低潮时对水深进行 了测量,表4是他们提供的测量数据:
– 表4. 水道水深的测量数据
x 129.0
y 7.5
140.0
141.5 8 107.5 -81.0 9
• 试完成加工所需的数据,画出曲线.
例2 已知速度曲线v(t)上的四个数据点如表2所 列,用三次样条插值求位移
S
0 . 18
v ( t ) dt .
0 . 15
插值(二维)
• 插值点为网格点:
– – – – 构造一个相对简单的函数 z=g(x,y) 使g通过全部节点 即使g (xj,yj) = zj,j=0,1,…, n 用g(x,y)作为函数 f( x,y )的近似。
• csape函数说明 - pp=csape(x0,y0)使用默认的边界条件,即 Langrange边界条件; - pp=csape(x0,y0,conds,valconds)中的 conds指定插值的边界条件, valconds给出 边界条件对应的参数值. 具体调用 doc csape 查看.
例1.机床加工问题
• ‘nearest’ 为近邻插值;‘linear’为线性插值; • ‘spline’ 为样条插值; 'cubic'为立方函数插值。
• 三次样条插值指令 1. y=interp1(x0,y0,x,'spline'); 2. y=spline(x0,y0,x); 3. pp=csape(x0,y0,conds,valconds), y = ppval(pp,x). • 注意:对于三次样条插值,提倡使用函数 csape, 因为csape返回值是三次样条函数的 系数,要求插值点的函数值,只需调用函数 ppval.