matlab中ch3_1,Ch3_3最小二乘法1.ppt

Ch3_3最小二乘法1

曲线拟合的最小二乘法 如果f(x)只在一组离散点集{xi,i=0,1,…,m}上给定这就是科学实验中经常见到的实验数据{(xi,yi),i=0,1,…,m}的曲线拟合,这里yi=f(xi), i=0,1,…,m,要求一个函数y=S*(x)与所给数据{(xi,yi),i=0,1, …,m}拟合, 若记误差δi = S*(x)-yi, i=0,1,…,m,δ= (δ0,δ1, …,δm)T, 设 这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的最小二乘法. 例4: :已知一组观测数据如表所示,试用最小二乘法求 一个多项式拟合这组数据。 由最小二乘法得如下式子: 整理并代入表中的数据得: 解之可得: 3.5.2用正交多项式做最小二乘拟合 有最小二乘法取 故得法方程组如下: 用最小二乘法得到的方程组其系数矩阵G是病态的, 但如果 是关于点集{xi}带 权ω(xi)(i=0,1,…,m)正交函数族,即 则方程(1) 的解为 且平方误差为 由其正交性得: * * 问题的提出:在函数的最佳平方逼近中,要求函数是连续的,而实际问题中常常见到函数只是在一组离散点上给定,即科学实验中常见到的实验数据的曲线拟和,例如天气预报系统即为此例。求拟和曲线时首先要确定所找的拟和曲线的形式,这不是单纯的数学问题,还与所研究问题的运动规律及所得观测的数据有关; 3.5曲线拟合的最小二乘法 3.5.1最小二乘法及其计算 通常要从问题的运动规律及给定数据描图,确定函数的形式,并通过实际计算得到较好的结果,这类方法就称为曲线拟和的最小二乘法。 利用Matlab中的库函数 p o l y f it进行拟和的数值例子: 用4次多项式拟和以下数据 x0=0:0.1:1; y0=[-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35, 9.22]; n=4; p=polyfit(x0,y0,n) xx=0:0.01:1; yy=polyval(p,xx); plot(xx,yy,‘-b',x0,y0,'.r', 'MarkerSize',20) xlabel('x') ylabel(‘y') 数据拟合方法与数据插值方法不同,它所处理的数据量大而且不能保证每一个数据没有误差所以要求一个函数严格通过每一个数据点是不合理的。数据拟合方法求拟合函数,插值方法求插值函数。这两类函数。 对拟合函数不要求它通过所给的数据点,而插值函数则必须通过每一个数据点. 最大的不同之处是 例如,在某化学反应中,测得生成物的质量浓度 y (10 –3 g/cm3)与时间t (min)的关系如表所示 10.61 10.53 10.42 10.33 9.86 9.53 8.79 8.01 6.41 4.00 y 16 14 12 10 8 6 4 3 2 1 t 显然,连续函数关系y(t)是客观存在的。但是通过表中 的数据不可能确切地得到这种关系。何况,由于仪器 测量中所带的误差的影响,测量数据难免有误差。因 此只能寻求一个近拟表达式 寻求合理的近拟表达式,以反映数据变化的规律, 这种方法就是数据拟合方法。数据拟合需要解决 两个问题: 第二,对于选定的拟合函数,如何确定拟合函数中的参数。 数学模型应建立在合理假设的基础上,假设的合理性首先体现在选择某种类型的拟合函数使之符合数据变化的趋势(总体的变化规律)。 第一,选择什么类型的函数作为拟合函数 y10 y9 y8 y7 y6 y5 y4 y3 y2 y1 y x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 t 为了问题叙述的方便,将例1的数据表写成一般的形式 拟合函数的选择比较灵活,可以选择线性函数、多项式 函数、指数函数、三角函数或其它函数,这应根据数据 分布的趋势作出选择。 线性拟合(线性模型) 假设拟合函数的图形是近似一条平面上的直线。 而表中的数据点未能精确地落在一条直线上的 原因是实验数据的误差。 下一步是确定函数y= a + b x中系数a和b各等于多少? 从几何背景来考虑,就是要以a和b作为待定系数, 确定一条平面直线使得表中数据所对应的10个点 尽可能地靠近这条直线。 如果第k个点的数据恰好落在这条直线上,则这个点的坐标满足直线的方程,即a + b xk = y k如果这个点不在直线上,则它的坐标不满足直线方程,有一个绝对值为 称为残差。 于是全部点处的总误差是 目的是使其达到极小。为了求该函数的极小值点 , 求解这个二元线性方程组便得待定系数a和b,从而得线性拟合函数y = a + b x。下图中直线是数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值