QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2767|回复: 2
打印 上一主题 下一主题

拟合

[复制链接]
字体大小: 正常 放大
cuiyang 实名认证       

5

主题

5

听众

41

积分

升级  37.89%

  • TA的每日心情
    郁闷
    2012-9-10 12:57
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    群组学术交流A

    群组学术交流B

    跳转到指定楼层
    1#
    发表于 2012-9-1 15:17 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    1        曲线拟合方法及其matlab实现
    曲线拟合是进行试验数据分析的一种重要手段,目的是寻找一条光滑曲线,它在某种准则下最佳地拟合试验数据。比较常用的曲线拟合方法有最小二乘法、契比雪夫法、插值法及其神经网络方法等。
    1.1         最小二乘法曲线拟合及其matlab实现
    最小二乘曲线拟合的思路是:对一组测试数据( ),i=0,1,2,…,n,寻求一个函数f(x)使得 最小,其中 。当k(x)选用不同的形式时,拟合的结果形式不一样,k(x)的既定形式需要根据经验进行判断,当不知道k(x)的具体形式时只能进行多项式拟合。下面介绍两种matlab中常用的最小二乘曲线拟合方法:
         (1)最小二乘的多项式拟合   多项式拟合是在不知道k(x)具体形式下采用的一种曲线拟合形式,可以根据数据拟合精度的需求选用不同的多项式次数,在matlab中使用ployfit()函数进行多项式的曲线拟合,函数的参数形式如下:
            P=ployfit(X,Y,n)                                 (1)
    式中:X,Y为实测数据向量,n为多项式次数,P为得到多项式各项的系数向量。
      可以利用ployval()函数对拟合得到的模型进行验证。
    (2)既定函数形式的最小二乘拟合    多项式拟合是一种通用的函数拟合形式,但在很多情况下对测试数据进行简单的多项式拟合是满足不了实际需求的,或者我们对测试数据有一定的先验知识,这就需要进行既定函数样式的拟合处理,matlab优化工具箱提供了lsqcurvefit()函数进行既定样式的曲线拟合,函数的参数调用情况如下:
    [a,J]=laqcurvefit(@fun ,X,Y)                       (2)
         式中:a为拟合后函数参数, 为参数a的初值,X,Y为测试得到的数据矢量,@fun为设计的函数样式
            fun是一个matlab函数,函数的定义如下:
            functionF=fun(A,X)                                (3)
                   F=…     %  计算参数A下地函数值
    1.2        神经网络拟合的matlab实现
    人工神经网络(Artificial Neural Network,简称ANN)是由大量简单的处理单元组成的非线性、自适应、自组织系统,每个信息处理单元成为一个神经元,神经元是一个多输入单输出的信息处理单元,它对信息的处理是非线性的。神经元的数学模型如图1所示:
                           
            图中 是神经元的输入,即来自前级n个神经元的轴突的信息; 是神经元的阀值; 分别是i神经元对 的权值连接,即突触的传递效率; 是i神经元的输出;f是传递函数,决定i神经元受到输入 的共同作用达到阀值时以何种方式输出。
       神经元的输出可以用下面的关系式表达:
                                          (4)
       多个神经元进行级联可组成神经网络,神经网络的学习过程分网络正向传递、误差反向传递、网络调整三个步骤。
    (1)        网络正向传递是网络输入通过网络向输出端传递的过程,传递过程有公式(4)计算得到;
    (2)        根据网络实际输出与期望的关系计算误差如下:
                                         (5)
    利用下面公式将网络输出误差进行反向传递:
                                    (6)
    (3)        网络调整是利用网络误差进行网络权值和阀值的调整,其中网络函数定义如下:
                                   (7)
         式中:m为输出层神经元个数;t为网络输出期望;y为网络实际输出。
             输出层权值的调整如下:
                  (8)
    式中:a为前一层网络输出。
             输出层阀值调整如下:
                     (9)
         同理网络各隐含层进行调整。
    经过上面三个步骤的反复调整,可以使网络达到最佳状态。神经网络具有非线形处理能力,理论上已经证明:具有偏差和至少一个S性隐含层加上一个线形层的网络能够逼近任何有理函数。
    在matlab中可以用如下函数进行BP神经网络的定义和初始化:Net=nemff(PR,[S1,S2,…,SN1],{TF1,TF2,…,TFN1},BTF,BLF,PE)                                             (10)
         式中:PR—R个输入元素最小值。最大值的R×2维数组;
                Si—各层神经元数目;
                TFi—各层传递函数,default=’tansig’;
                BTF—传播网络训练函数,default=’traingdx’;
                BLF—权值、偏差学习函数,default=’learngdrn’;
                PF—误差性能函数,default=’mse’。
               Train(net,p,t)函数可以完成网络的训练。
         曲线拟合时的网络为1-N-1结构,对于采样数据 ,横纵坐标分别为网络的输入和输出期望,经过训练网络可以实现对数据的最佳拟合,可以采用sim(net,p)函数对训练后的网络进行验证。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    cuiyang 实名认证       

    5

    主题

    5

    听众

    41

    积分

    升级  37.89%

  • TA的每日心情
    郁闷
    2012-9-10 12:57
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    群组学术交流A

    群组学术交流B

    回复

    使用道具 举报

    0

    主题

    8

    听众

    115

    积分

    升级  7.5%

  • TA的每日心情
    奋斗
    2014-12-16 23:10
  • 签到天数: 32 天

    [LV.5]常住居民I

    自我介绍
    数学与应用数学专业

    群组2013年数学建模国赛备

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-10-1 09:28 , Processed in 0.507096 second(s), 59 queries .

    回顶部