弹簧问题(拟合的妙用)_第1页
弹簧问题(拟合的妙用)_第2页
弹簧问题(拟合的妙用)_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容:进一步学习最小二乘原理及其Matlab实现一、复习二、问题Xx1x2x3x4x5x6x7x8x9Yy1y2y3y4y5y6y7y8y9x,y分别表示弹簧弹力试验中的拉伸长度和弹力,由物理知识知在弹性限度内,y=kx,在弹性限度外,y=ax2+bx+c,图中显示前五个点大致呈直线,后五个点大致呈抛物线。要求拟合出这两段曲线的函数表达式,满足1、在x5处连接(即连续)2、在x5处光滑(理解为左导数等于右导数即可导)二、思路:1、难点:若仅按刚讲过的原理和方法,可以拟合出两段曲线所代表的函数,即解超定方程组,求出最小二乘解: 对前五个点方程组为进而,X=k=Ab对于后五个点方程组为进而,X=A

2、b求出abc但是,无论从结果还是从原理分析,以上方法拟合的结果都无法保证曲线经过某个点,只能保证总体上距离平方和最小,这样就不可能满足1和22、办法:怎么办呢?拿到这个问题,我首先想到,可以用条件极值(或叫到约束的优化)来做,即在满足条件1和2的前提下,使J(a,b,c)最小。但是,由于这一部分至今没有讲,暂时不能用。其次考虑插值,两点原因注定不能用(1)测量点不准确,不适合用插值(2)插值不能产生满足要求的函数表达式。我们能用的方法目前只有再次考虑最小二乘拟合 原理已经复习过了,还是使得该超定方程组的两端差距尽量小。于是我们考虑是否可以把条件作的等价的变换,使得虽然还是按照原理进行,结果却趋

3、向我们的要求。换句话说就是,经过等价变换以后,按原来的方法进行计算,为了实现总体上误差平方和最小,就必须保证在x5点尽量接近已知点。再换句话说就是要是在x5点不尽量接近,就无法保证总体上误差平方和最小。也就是该点的误差影响是显著最大的。于是,方法有了,将x5点的误差 “夸大”。我们先将前5个点拟合出y=kx,为满足条件1,我们要求后5个点的抛物线要过(x5,k*x5)这个点,即改变方程组的第一行即将矩阵A作相应变化,带入X=Ab求出abc一对答案,一点都不错,问题1解决解释变换的等价性。下面是问题2思路:学会透过现象看本质,注意原理中的等式即方程组中的方程本质上都是被拟合的函数所应满足的条件,

4、这些条件不一定仅仅局限于在某个点的函数值应该如何,还可以要求在某个点的导数值应该怎样,于是我们再给方程组加一个方程(条件),就是在x5点上右导数(2ax5+b)等于左导数(k),同时为了保证相等而不是总体接近,在扩大到1000倍矩阵A作相应变化,带入X=Ab求出abc又一对答案,又做对了。注:这些灵活的思想在过去都已经用过多次了,比如用直尺量一张纸,方法谁都知道。复习:1、曲线拟合:已知几个点,求一条曲线与已知点最接近。2、其中一种叫最小二乘拟合,原理如下(y=ax+b)xax+by误差平方x1ax1+by1y1-ax1-bx2ax2+by2Y2-ax2-bxkaxk+bykyk-ax3-b求和J(a,b)求出a和b3、Matlab实现:以上原理在Matlab中的实现相当于求解一个超定方程组(见上表),AX=b即Matlab系统自动判断该方程组是超定方程租,解得的结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论