您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Origin非线性拟合
Origin的非线性拟合功能非线性模型121sinlnbxbxcyaeyaeyabxx例如:求出最佳的参数拟合,1,2,3,,,iinYXinYXYfX有组观测数据:设因变量和自变量满足:Origin解非线性拟合的算法•Levenberg-Marquardt(L-M)method(列文伯格-马夸尔特法):LM算法需要对每一个待估参数求偏导。•对于Origin内置的拟合函数,Origin提供了求偏导的解析表达式,因此速度快,拟合时,尽可能使用Origin的提供的内置拟合函数•对于用户自定义的拟合函数,求偏导时,直接使用数值进行,速度较慢。Origin也允许用户定义求偏导的表示式。•SimplexMethod(单纯形算法):当L-M算法不能得出最佳的拟合结果时,可尝试使用该算法。非线性拟合的结果如何评价?2221222201,ˆ,degreesoffreedomniiiRYYreducednpdofnpRnp确定系数:残差平方对同一组数据,越大越好对同一组数据,越小越好,其中为参与拟合的数据点的数目,为参数的数目称为自由度置信区间:越窄越好预期区间:和:越窄越好Origin中进行非线性拟合的步骤1、将数据输入worksheet2、做数据的散点图3、进行非线性拟合:A、若有相应的菜单命令,点击相应的菜单命令即可B、使用Origin内置拟合函数,可以使用拟合向导,按向导指示操作即可C、若自定义函数,使用高级非线性拟合工具进行拟合,所有的拟合过程都可以控制A、使用菜单进行非线性拟合FitExponentialDecay-firstorder一阶指数衰减拟合FitExponentialDecay-secondorder二阶指数衰减拟合FitExponentialDecay-thirdorder三阶指数衰减拟合上机练习C:\ProgramFiles\OriginLab\OriginPro75\Samples\Analysis\CurveFitting\ExpDecay.OPJ完成Origin软件自带的指数二阶衰减拟合例题文件:FitExponentialGrowth一阶指数增长拟合FitSigmoidalS拟合当x轴为线性坐标时,采用Boltzmann函数拟合当x轴为对数坐标时,采用Logistic函数拟合S拟合工具使用菜单命令进行线性拟合,很多参数都是选用缺省值,用户无法对整个过程进行干预。选用【tool】菜单中的【SigmoidalFit】可以对S拟合过程中的相关参数进行选择,使拟合过程按要求进行,适合高级用户使用。上机练习C:\ProgramFiles\OriginLab\OriginPro75\Samples\Analysis\CurveFitting\SigmoidalFit.OPJ完成Origin软件自带的S拟合例题文件:FitGaussian高斯拟合FitLorentzian洛仑兹拟合FitMulti-peaks多峰拟合按照峰值分段拟合,每一段采用Gaussion或Lorentzian方法0246810050100150200AmplitudePosition上机练习C:\ProgramFiles\OriginLab\OriginPro75\Samples\Analysis\CurveFitting\MultiPeakFit.OPJ完成Origin软件自带的多峰拟合例题文件:B、FittingWizard非线性拟合向导第1步:选择要拟合的数据在这里控制参与拟合的数据点自变量(独立变量的)范围,数据点在图形中的显示设置第2步;选择合适的拟合函数函数的类别函数名称函数公式函数图形第3步:选择权重数据没有权重就选择None第4步:拟合控制参数设置显示各测量点的残差图显示置信区间曲线显示预期区间曲线置信区间预期区间2第5步:输出结果是否绘制这些曲线?是否输出这些参数?选中的话,会提示把本次拟合的过程保存为一个工具栏上的图标,为以后进行同样的拟合提供方便在此区域右击鼠标,可弹出图示的快捷菜单,可对拟合向导进行一些设置Origin内置函数NLSF拟合C:\ProgramFiles\OriginLab\OriginPro75\Samples\Analysis\CurveFitting\NLSFBuiltInFunc.OPJ完成Origin软件自带的使用内置函数进行NLSF拟合的例题文件:21211?,?bxbbybe拟合向导上机练习C、TheNLSFAdvancedFittingToolNonlinearLeastSquaresFittingNLSF高级拟合工具这是BasicMode,点击More按钮,即可切换到AdvancedModeNLSF的两种模式AdvancedMode1、选择拟合函数若自定义函数就选择New这里可以写一些参数的线性约束条件,设参数为a,b,c,d,条件可以是:ab;a+2*b=c*2-d;4bc6;a/39支持5种关系:=,,=,,=.约束之间用分号分分隔,换行按CTRL+ENTER.2、设置函数参数的一些约束条件(没有的话就跳过)3、拟合过程中一些参数的设置(一般用默认设置即可)一般不要选中设置参数的有效数字Delta一定程度上会影响拟合的结果221ttTolerance在迭代过程中,若则迭代(拟合结束)设置最大的迭代次数设置权重方法,没有就选None4、选择要拟合的数据1、选变量2、选数据3、确认将数据赋予变量设X变量的时候也是点左边的按钮,不要点这个按钮!!存放模拟曲线的数据点的数据集名称根据这里的参数绘制曲线,选择Action:Fit,则最后一次选中的参数被传递给Fit程序5、模拟曲线使用Origin进行非线性拟合,必须指定各参数的初始值,使用内置拟合函数时,Origin会自动设置好比较合适的初始值。使用自定义函数拟合时,用户必须自己指定初始值,初始值选的不好,拟合就有可能不成功。好的初始值的选择需要对拟合数据、拟合函数仔细分析,以及用户的经验取消选中的话,则这个参数在迭代过程中保持不变,当函数中某个参数被确定的话,就可以在这里设置误差取值范围是[0,1],越接近1,则越表明该参数有可能过参数化了。这个时候,用户就要考虑拟合的模型是否正确了,是否可以简化模型,除去一些参数。拟合的结果6、进行拟合大多数情况下,过参数化的模型都应该认真审视,但并不是所有的过参数化的模型都是坏的模型。比如说,绝大多数的指数方程都是这样的模型执行一次LMiteration执行n次LM迭代,迭代过程中要终止的话,按ESC键即可当LM迭代方法无法进行时,可以尝试进行Simplex迭代方法(一般情况下,此方法不如LM方法好)(downhillsimplexmethod)用这两个按钮可以浏览拟合过程中每次迭代得到的参数迭代过程的输出结果显示在这里2计算并显示创建一个worksheet,将拟合结果写入其中要FindY,在这里填入x的值,x在数据集内、外都可以要FindX,在这里填入y的值,y必须在数据集之内7、生成结果创建一个matrix,将Var-CovMatrix写入其中自定义拟合函数1.添加一个新的函数类别,将自定义的函数都放置在这个类别里,以便以后重复使用2、定义新函数用户自定义函数存放在Origin\FitFunc文件夹,文件名为\FunctionName.FDF定义参数和变量时,以下符号不可以使用(Origin内部要用):x1,x2,…,xny1,y2,…,ynz1,z2,…,zni,t,j,e使用OriginC编写函数默认的参数名为P1,P2等,若要使用自定义的符号,选中这里,参数之间用英文逗号分隔开,与C语言相同参数的数目点击这里进行编译自定义函数NLSF拟合上机练习1C:\ProgramFiles\OriginLab\OriginPro75\Samples\Analysis\CurveFitting\NLSFUserDefFunc.OPJ完成Origin软件自带的使用自定义函数进行NLSF拟合的例题文件:体重约70kg的某人在短时间内喝下2瓶啤酒后,隔一定时间测量他的血液中酒精含量(毫克/百毫升),得到数据如左表。设饮酒后血液中酒精含量的数学模型为:btctyaee试确定,,abc自定义函数NLSF拟合上机练习2时间酒精含量(小时)(毫克/百毫升)0.25300.5680.75751821.5822772.5683683.5584514.550541638735828925101811151212131014715716422200xxyyRxy245373249336264303285277308258348242375239416246454266483293504339508373左表中的(x,y)为某次实验测得的数据,理论上满足方程:试确定00,,xyR本数据用simplex算法拟合能得到最佳结果。自定义函数NLSF拟合上机练习3
本文标题:Origin非线性拟合
链接地址:https://www.777doc.com/doc-4684456 .html