Origin8.0用户自定义拟合函数的建立和使用
- 格式:pdf
- 大小:844.96 KB
- 文档页数:9
origin拟合公式Origin拟合公式是指一种可以对数据进行拟合的数学公式,它是数据分析领域中非常常用的一种方法。
本文将会介绍Origin拟合公式的原理、使用方法以及常见的应用场景。
一、Origin拟合公式的原理Origin拟合公式的原理基于最小二乘法,即通过寻找一条曲线(或者直线),使得曲线与实际数据之间的误差最小,从而得到最佳拟合曲线。
在Origin中,拟合公式可以通过以下步骤来实现:1.选择数据:在Origin中,我们需要先选择要拟合的数据,可以是一个数据集或者一组数据。
2.选择拟合类型:在选择数据之后,我们需要选择拟合类型,即确定拟合公式的形式。
Origin中提供了多种拟合类型,包括线性、非线性、多项式等。
3.调整参数:在选择拟合类型之后,我们需要调整拟合参数,使得拟合公式与实际数据最为接近。
在Origin中,可以通过拖动参数滑块或者手动输入数值来实现参数调整。
4.评估拟合结果:在完成拟合之后,我们需要评估拟合结果的好坏。
在Origin中,可以通过查看残差图、R方值等指标来评估拟合结果的质量。
二、Origin拟合公式的使用方法使用Origin拟合公式需要以下几个步骤:1.导入数据:在Origin中,我们需要先导入要拟合的数据。
可以通过从文件中导入、复制粘贴等方式来导入数据。
2.选择拟合类型:在导入数据之后,我们需要选择拟合类型。
在Origin中,可以通过点击工具栏上的“拟合”按钮来选择拟合类型。
3.调整参数:在选择拟合类型之后,我们需要调整拟合参数。
在Origin中,可以通过拖动参数滑块或者手动输入数值来实现参数调整。
4.评估拟合结果:在完成拟合之后,我们需要评估拟合结果的好坏。
在Origin中,可以通过查看残差图、R方值等指标来评估拟合结果的质量。
5.导出拟合结果:在完成拟合之后,我们可以将拟合结果导出为Excel、CSV等格式,方便后续的数据分析和处理。
三、Origin拟合公式的应用场景Origin拟合公式可以应用于许多领域,包括:1.物理学:在物理学中,Origin拟合公式可以用于拟合实验数据,从而得到物理规律。
Origin使⽤⾃定义函数拟合曲线函数 (2019年2⽉19⽇注:这篇⽂章原先发在⾃⼰github那边的博客,时间是2016年10⽉28⽇) 最近应该是六叔的物化理论作业要交了吧,很多⼈问我六叔的作业⾥⾯有两道题要怎么进⾏图像函数的拟合。
综合起来的问题主要有两个: 1. 知道图像的准确拟合⽅程,但是不知道怎么拟合。
(这个是本⽂的重点) 2. 不知道图像的准确拟合⽅程,也不知道怎么拟合,这个我可以稍微提供⼀个拟合的⽅向。
先从不知道图像的准确拟合⽅程开始吧,当你拿到⼀组数据时,你肯定是先看横纵坐标写的是什么,在19题的第⼆问⾥⾯,要求蒸发焓和热⼒学温度的关系,学过物化的都知道,肯定是克劳修斯-克拉贝龙⽅程才能出现这两个变量的关系。
因此这⾥我们就要利⽤这个⽅程对我们的数据进⾏变形。
ln(ppΘ)=Δp H mR(1373−1T) 这就很明显了嘛,把我们得到的蒸⽓压除以标准状态下的⽓压,它的对数和−1/T成线性关系,接着就不⽤我说了吧。
数学建模的其中⼀个思路是根据已有的经验公式进⾏改进和修正啊,因为建模也要符合基本法啊,不能随便就上个算符吧。
18题我留着后⾯说,先把19题的第⼀问的完整拟合过程在这⾥写⼀遍。
1. 根据已有的拟合形式将所需要的数据处理好,19题的公式是:lg(p)=A−B T−C要的⾃变量是热⼒学温度T,因变量是$log_{10}(p),先整理好,这个在Excel⾥⾯是很容易的事情。
2. 打开Origin,我的是2015,不同版本操作⼤同⼩异,打开Analysis→ Fitting→ Nonlinear Curve Fit→ Open dialog。
3. 在Category⾥⾯选择User Defined,可见Origin的拟合函数也是类似于Matlab的M⽂件⼀样可以⾃⼰编写。
4. 当然是选择New⼀个函数咯,不是New⼀个对象。
5. 从这张图开始,注意看左边的Hints,这个⽐⽹上的所谓的教程不知道⾼到哪⾥去了。
Origin绘图时拟合曲线过某个定点或原点的方法1.在使用Origin绘图时,如果要求拟合曲线过某个定点或者过原点,可以用Origin8.0及更高的版本设置权重拟合。
方法是在数据列后面添加一列空数据列,然后在要经过的这个数据点的对应的空列处填写100,其余的空列填写1。
然后进行非线性拟合:Analysis — Fitting — Nonlinear Curve Fit — Open Dialog,在Settings选项卡中选择左侧框中的第一行的Function Selection,在右侧的框中选择需要用到的函数。
在左侧框中选择第二行的Data Selection,在右侧的框中点击Input Data —Range —Y —Weight,在Weight 中选择Direct Weighting,在下一行的Data 中选择新添的那列权重列的列标,比如新添的是C列,就选C。
另外,如果希望将拟合的直线延长到坐标轴上,选择Fitted Curves(就在左侧Data Selection的下一行),再选择右侧框中的Fitted Curves Plot — X Data Type — Range,选择 Custom,然后把 Min 和 Max 后面的Auto的勾去掉,自己里填写X轴上最小值和最大值发范围。
然后点拟合就可以了。
2.让拟合的直线过原点点击Analysis — Fitting — Linear Fit — Open Dialog,点开Fit Options,勾选Fix Intercept,然后在Fix Intercept at 后面输入0(因为要让拟合线过原点)。
然后,点开Fitted Curves Plot,再点开 X Data Type,在Range 右侧的选框内选择Span to Full Axis Range,让拟合线延伸到坐标轴的整个范围(一般而言,拟合线只是在数据点附近,如果不设置这一步,拟合线是不会过原点的)。
origin中怎么拟合自定义公式(处理数据时最常用)(2007-06-01 09:27:52)转载1.怎么求非自然数为底的幂函数Origin中的自然数的幂函数很容易,用EXP函数就可以了,但是其它幂函数没有,例如:将一列数据转变为以10为底,数列为幂指数,用10^col(A)就可以了。
2.如何输入σ,±这样的符号添加文本,然后点击Ctrl+M,选择你所需的字符,插入就行了。
3.自定义公式拟合技巧origin7.0中虽然提供了强大的拟合曲线库外,但在实际使用中,你可能会发觉在所提供的曲线库中没有你想要拟合的公式。
这时你就可以使用用户自定义公式进行拟合。
过程如下:(1)打开主工具栏中analysis的non-linear curve fitting,这时会出来一个选择公式界面。
(2)选择编辑公式,需要你提供公式名称以供系统保存;还要提供参数的个数及主变量及因变量符号。
(3)按你需要的公式写在编辑框内,注意千万别写错了。
写完后按save进行保存。
(4)现在开始拟合:在action中选dataset,提供主变量和因变量的一些相关参数。
(5)在action中选si mulate,在参数中填上你根据数据及其它一些条件确定的粗略的初始参数以及拟合起始点的位置及拟合点数,然后按下create curve就会在图上出现一条拟合曲线,但这往往与期望值差距较大,因此接下来需要进行参数优化。
(6)参数优化采用试错法,根据曲线形状逐渐改变参数,注意,多参数时改变任何一个参数都会改变曲线形状,因此可以一次变一个参数,直到达到满意的形状。
(7)在action中选fit,按下Chi-sqr和10-lit。
(8)在action中选results,按下param worksheet生成拟合曲线及数据。
此时可以关闭拟合界面。
(9)在图左上角右键点1,选add/remove plot,将多余的曲线删除,将nlsf系列曲线留下。
关于origin的自定义非线性拟合操作
关于origin的自定义非线性拟合操作
1.现有两组数据P(x)和Q(y),如下图所示,而P和Q之间关系为Langmuir–Freundlich方
程:,需要通过拟合曲线而求出方程中的参数Qm、B和t。
2.点击too l→fitting function builder,弹出如下对话框,点击next。
3.输入方程名称Langmuir–Freundlich,并选择origin C,如图所示,点击next。
4.输入自变量P、因变量Q和参数(Qm, B, t),如图所示,点击next。
5.将方程表达式转化为:Q=Qm*B*P^(1/t)/(1+(B*P^(1/t)))输入后,点击途中红圈所示编译
按钮。
后返回上图。
7.一直点击next,直到finish。
选中P(x)和Q(y)两列数值后点击annlysis→fitting→nonliner
curve fit→open dialog,出现下图对话框,通过category和function两个下拉菜单选择
我们刚才编辑好的方程:Langmuir–Freundlich。
由于参数的初始值系统默认均为1,这并不符合方程的收敛要求,所以需要点击红圈所示的粗拟合以便得到符合要求的参数初
始值,然后点击fit即可得到通过最小二乘法拟合出的自定义非线性曲线的各项参数值。
8.拟合后的参数值以及曲线数据等均会在同一个worbook的新sheet中展示,如下图所示。
origin基本操作介绍Origin操作⽅法报告彭佳1120152242⼀、画简单的⼆维图线1.双击已下载好的软件,打开Origin 8.0,得到如下初始主界⾯。
2.给Book1的第⼀列A(X)添加⼀组数,如从⼩到⼤依次增⼤的⾃然数。
将⿏标移⾄上左击⼀下,选中第⼀列,再在上右击⼀下,弹出⼦菜单,选择,得到要求数据。
3.将Book1的第⼆列B(Y)设置为第⼀列A(X)中对应数据的平⽅。
同理右击后,选择,得到如左下图所⽰界⾯。
在第⼀个空⽩对话框中输⼊Col(A)^2,再点击,得到所需数据。
4.给Book1添加新的列。
⽅法⼀:单击Standard⼯具条上的【Add New Columns】按钮;⽅法⼆:在Worksheet的空⽩处右击,从⼦菜单中选择【Add New Columns】;⽅法三:选择【Column】:【Add New Columns】,弹出如下对话框,填写要添加的列数,单击【OK】即可。
5.将Book1的第⼆列B(Y)设置为第⼀列A(X)中对应数据的开⽅。
同上3打开【Set Column Values】界⾯后,选择开⽅函数,将函数的运算原数据填为第⼀列,单击OK即可。
6.⽤上述三列数据做简单的⼆维图。
单击Standard⼯具条上的【New Graph】按钮,建⽴⼀个新的Graph。
激活Graph 1,按如下操作绘图。
再单击Add按钮,得下图。
即同⼀Graph中的2条曲线信息。
单击【Apply】可以预览图像,觉得图像⽆误后,单击【OK】即可得到初步的⼆维图。
再单击如下【New Legend 】按钮,更新曲线Legend 。
7.⾃定义曲线类型。
点击上图中的按钮可将曲线设置为不同类型,如下图。
8.屏蔽曲线中的数据双击其中⼀条曲线,弹出菜单界⾯,点击【Drop Line 】,如下操作后,点击【Apply 】预览,【OK 】即可完成修改。
BA⼆、单层图——以光谱为例1.导⼊多个ASCII ⽂件⽅法⼀:依次点击【File 】→【Import 】→【Multiple ASCII 】;⽅法⼆:直接单击⼯具条的【Import Multiple ASCII 】按钮。
Origin8.0画频率分布直方图与曲线拟合实例本文基于Origin8.0本文只用于来不及学习origin而又要交实验报告的同学们。
首先打开origin8.0 默认的界面如下,这里的格式应当是Book类型的。
1.首先,你可以先输入数据,如果你嫌在origin中输入太麻烦,而且和你的记录格式(比如是10*20的列表),你可以考虑在Excel中输入,再通过origin中:File>>Import>>Excel(XLS,XLSX)在Excel中输入:再将数据形式转化为:导入(import)origin:如下,直接按OK:接下来就是如下画面(那个小窗口可以关掉):2.然后就是数据处理了左键单击A(X),选中所有你输入的数据在A(X)栏单击右键,在菜单选择"Frequency Count..."即频数统计弹出如下窗口各项设置如下:然后按OK 就行了然后你会看到:按住"Ctrl" 键同时选中Bin Center(X) 和Freqs(Y)单击左下方的画出直方图3.这时候你可能还需要拟合正态分布曲线在Graph 的视图下,也就是有图片的那个视图下在上方,依次单击Analysis>>Fitting>>Nonliner Curve Fit (曲线拟合)(>>Open Dialog 如果你不是第一次使用曲线拟合,就要在单击这个了)弹出如下窗口:function 栏已经是Gauss(高斯)函数,只是这里的Guass函数与我们平时看到的有点不一样,但如果仅仅是拟合曲线,系数什么的不是我们所关心的,当然,为了看到熟悉的系数,我还是选择了另一个更为接近的高斯函数单击Fit 进行拟合弹出如下窗口,随意选择即可,默认为yes然后你就得到拟合曲线了4.你可以对图像进行进一步的修饰了:在左侧的工具栏你可以选择T 工具进行文字的添加,在图像上拖动,在弹出窗口中输入文字。
在origiorigin n中使用自定义公式进行非线性数据拟合概述在Origin中,所有的拟合公式都组织在Fitting Function Organizer(拟合公式管理器)中。
除了内建的函数,你也可以使用自己定义的方程。
一旦这个方程被定义,它就可以在NLFit (非线性拟合)对话框中调用。
下面我们就来说如何使用自定义方程。
Origin版本要求:Origin8.0SR6以上学习要求:�自定义函数范例:我们来学习如何定义下面的拟合函数bxy+aey=0定义函数的步骤:1.在菜单栏选择Tools:Fitting Function Organizer(快捷键F9)打开公式管理器对话框,Function n 点击New Category按钮来新建函数类,命名为“User-Defined”。
再点击New Functio 按钮,在该类下新建方程:2.参考下图,编辑公式并点击save键:3.为了验证方程的正确性,点击Function输入框边上的按钮,打开Origin代码编译器:在编译器中,点击Compile按钮来编译方程,如果通过,点击Return to Dialog按钮来返回公式管理器。
4.点击Save和OK来保存方程并退出公式管理器。
用方程拟合数据1.导入数据\Samples\Curve Fitting\Exponential Decay.dat2.选定column B,点击菜单栏Analysis:Fitting:Non-linear Curve Fit来打开NLFit对话框。
3.Settings标签页选择刚刚定义的函数:后开始拟合数据:从报告中看,拟合得很好。
英文原文: 翻译:新浪微博@辣核桃。
学术干货再来一波,如何利用Origin实现曲线拟合现实生活中,变量间未必都会有线性关系,比如疾病疗效与疗程长短的关系。
在材料科学的研究中,也会遇到一些非线性的数量关系,那么面对大量的离散点组或者数据,我们如何来透过零散的“外表”来发现它们“真实的内心”呢?今天小编就一步一步告诉大家。
曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两个变量之间的关系。
通过对数据进行曲线拟合,我们不但能找到它的变化规律,还能对数据的变化进行一定程度的预测。
我们将以Origin 8.0为例,为大家详细的讲解利用Origin进行曲线拟合的方法。
本文共分为3个小节,分别是线性回归(直线拟合)、多项式拟合和非线性拟合。
一、线性回归(直线拟合)1.首先打开Origin 8,在A(X)和B(Y)列分别输入对应的横坐标和纵坐标数据,本节中的A(X)列为电流,B(Y)列为电压。
如图1-1所示。
研究的规律是当电阻不变时,电压随着电流增加的情况。
其中,Long Name:名称;Units:单位;Comments:注释。
图1-12.选中A(X)和B(Y)列的全部数据,然后依次Plot→Symbol→Scatter(或者点击左下角的作图,如图1-2所示)。
得到图1-3。
图1-33.根据图1-3可知,电流跟电压是线性关系,所以要进行线性拟合,接下来点击Analysis→Fitting→Fit Linear→Open Dialog...,如图1-4所示,得到图1-5。
图1-54.根据在图1-5的Linear Fit选项卡中单击OK按钮,得到图1-6。
在跳出来的Reminder Message选项卡中单击OK按钮,得到直线的拟合结果报告,如图1-7所示。
得到的电压与电流的函数关系为:y=3.02747x+0.01209,拟合度R2因子达0.99984。
图1-6图1-7二、多项式拟合打开Origin 8,在A(X)和B(Y)列分别输入对应的横坐标和纵坐标数据,如本节中A(X)列为电流,B(X)列为光强度。
origin8.0曲线拟合在实验数据处理和科技论文中对实验结果的讨论中,经常要对实验数据进行线性回归和曲线拟合,用以描述不同变量之间的关系,找出相应的函数的系数,建立经验公式或数学模型。
Origin提供了强大的线性回归和曲线拟合(以非线性最小平方拟合为代表)功能。
此外还可以自定义拟合函数,以满足特殊需求。
1.拟合菜单在Origin的”Analysis”菜单下,有线性回归、多项式拟合、指数拟合以及S曲线拟合等命令。
采用拟合菜单前,待拟合数据必须激活,有些拟合函数还需要输入参数,拟合完成后,拟合曲线在图形窗口中,回归参数结果存在结果记录(Result Log)窗口。
方法:激活Graph窗口,选择菜单”Analysis”->“Fit…”,即可相应的拟合。
2.拟合工具Origin提供3种拟合工具:线性拟合工具(Linear Fit Tool)、多项式拟合工具(Polynomial Fit Tools)、和S曲线拟合工具(Sigmoidal Fit Tool)方法::激活Graph窗口,选择菜单”Tools”从下拉菜单种选择相应的拟合工具。
拟合对比工具:确定两组数据的样本是否属于同一总体空间。
”Tools”->“Fit Comparision…”在记录窗口显示对比的结果。
3. NLSF向导非线性最小平方拟合(NLSF)向导(Wizard),仅需要输入最常用的拟合选项,步骤:XY拟合数据选择->拟合函数选择->峰选择->加权选择->拟合控制也可以自己定制向导,省略一些不需要的步骤(略)LLSF有两种模式:基本和高级模式,通过”More…”或者”Basic Mode”相互切换(1)基本模式“Analysis”->“Non-Lin ear Curve Fit”->“Advanced Fitting Tool …”选择拟合函数”Select functionv…”可以在方程和曲线间切换(2)高级模式比基本模式多:带菜单,函数文件浏览方式4.用自定义函数拟合(1)自定义拟合函数步骤:在基本模式下,Select Function..对话框中,单击”New”按钮或高级模式下,菜单”Function”->“New”,设置好函数名,参数,表达式,”Save”(2)指定函数变量在”Analysis”->“Non-Linear Curve Fit”->“Advanced Fitting Tool …”,切换到高级模式,然后”Action”->“DataSet”,在对话框中设置好变量(3)曲线模拟在”Analysis”->“Non-Linear Curve Fit”->“Advanced Fitting Tool …”,切换到高级模式,然后”Action”->“Simulate”,单击”Create Curve”按钮(4)拟合曲线在”Analysis”->“Non-Linear Cu rve Fit”->“Advanced Fitting Tool …”,切换到高级模式,然后”Action”->“Fit”(5) 结果分析在”Analysis”->“Non-Linear Curve Fit”->“Advanced Fitting Tool …”,切换到高级模式,然后”Action”->“Results”,弹出”Generate Results”对话框,单击”Param. Worksheet”命令按钮,生成Parameters工作表窗口5. 用Origin内置函数拟合和自定义函数拟合类似,不过选择内置函数,“Fit”时,多点击“Iteration”(迭代)按钮几次,直到满意。
Origin 8.0自定义拟合函数虽然Origin 8.0软件自带了很多非线性拟合函数,但在实际中难免有不满足用户需要的时候,此时Origin 8.0软件显示出强大的自定义拟合函数功能。
那么,如何进行自定义函数呢?请细看下文。
1.打开Origin Pro8.0,如图1所示。
依次点击Menu→Tools→Fitting Function Organizer,出现图2和图3界面。
2.点击图3中的New Category按钮,进入自定义函数种类名称的编辑,我取了一个自己喜欢的名字Custom_RRTan,如图4。
(这里,Custom是“自定义”的意思,RRTan是Rong-Ri Tan的缩写,嘿嘿……)3.然后点击图4中的New Function按钮,进入图5界面。
把函数名称(Function Name)、函数描述(BriefDescription)、参数(Parameter Names)、函数表达式(Function)编写完整。
4.点击图5中Function右侧的按扭进入图6界面进行编译验证,如果前面的编写正确,Compile时出现图7界面,否则出现图8错误提示。
(注意:本人曾因函数表达式中存在一空格而出错,所以这一步要细致,必须保证变量的字体一致。
)pile成功后,点击图7或8中的Return to Dialog回到图5,此刻可以说大功告成,直接点击Save和OK保存后退出即可。
※值得一提的是:这时编写好的自定义函数还不能发挥拟合功能,因为初始化条件没有设定。
对于初始化条件的设定有两种方式,预先设定和拟合时设定。
我喜欢拟合时候设定,稍后验证自定义函数是否正确时将会具体讲解。
下面的步骤简单说说预先设定方法。
6.拖动图5右侧的滚动条,可以发现Parameter Settings和Parameter Initialization两填写框,分别点击方框右侧的按扭(红色小箭头标识),进入图9和图10界面,进行参数、边界以及初始化条件设定。
Origin8.0 非线性拟合法1.打开Origin 8.0软件。
2.在A(X)列输入自变量,在B(Y)列输入因变量。
不能把二者位置搞错。
3.点击analysis下拉菜单→点击Fitting→Nonlinear Curve Fit→Open Dialog…4.在打开的新窗口中选择Function Selection,点击Gauss下拉菜单→点击<New…>,这时会出现新的页面。
然后在新页面进行如下操作:5.在Independent Variables中选定自变量,在DependentVariables中选定因变量,在Parameters name 中给出所有待拟合参数的符号如p1,p2,p3……6.在Function中建立待拟合的非线性函数关系。
7.就建立了待拟合的非线性函数关系后,依次点击右上角的Save和右边靠近下方的Ok,这时会出现新的页面。
8.从新页面的Function栏可查看欲用的函数名(即刚建立的非线性拟合函数);点击新页面的Code,可查看新建的非线性拟合函数;点击Parameters,然后在Value下分别给待拟合参数输入初始值。
9.接下来,可一次次点击下方从左到右第五个按钮,一次一次进行拟合;也可以击下方从左到右第六个按钮,此时系统会反复进行多次拟合直到收敛为止。
收敛后,第五和第六个按钮就都改变颜色变成不能再点击了。
这时,点击Ok按钮。
结果就出来了。
10.可从中读取待拟合参数的拟合值。
11.双击其中的拟合曲线(Fitted Curves Plot),即可把图放大,并可按下法进行适当编辑。
12.右键单击横坐标轴或纵坐标轴,点击下拉菜单钟的Properties…,然后可以选择性调整坐标轴的刻度、刻度线的朝向(朝里或朝外)13.在Origin中把坐标刻度、刻度线的朝向、数据点的符号、线条的粗细等编辑好以后,选取整个拟合线图,点击左上角工具栏的Edit,在下拉菜单中点击Copy page,然后在Word文档中,即可用Ctrl+V键将此图粘贴上去。
人人网- 日志分享1. 请教怎样反读出origin曲线上全部数据点?如,我用10个数据点画出了一条origin曲线,并存为project的.OPJ格式。
但,现在我想利用OPJ文件从这条曲线上均匀的取出100个数据点的数值,该如何做?注:要一切都使用origin软件完成,不用其他曲线识别软件。
/bbs/viewthread.php?tid=1390313 [1]Answer:ORIGIN中,在分析菜单(或统计菜单)中有插值命令,打开设置对话框,输入数据的起点和终点以及插值点的个数,OK!生成新的插值曲线和对应的数据表格。
2. origin中非线性拟合中logistic模型的疑问?origin 中非线性拟合中的logistic模型为y = A2 + (A1-A2)/(1 + (x/x0)^p)其初始参数设置为sort(x_y_curve);//smooth(x_y_curve, 2);x0 = xaty50( x_y_curve );p = 3.0;if( yatxmin( x_y_curve ) > yatxmax( x_y_curve ) )A1 = max( y_data );A2 = min( y_data );A1 = min( y_data );A2 = max( y_data );而据我看到的logistic的模型都是(自己origin中自定义的)y =A1/(1+(A1/A2-1)*exp(-k*x))也就是说 origin 中的logistic有4个数值需要确定,而自定义的有3个数值从结果来看,没有太大区别,但为什么函数不一样呢?不是学数学,高人能否详细说明下。
/bbs/viewthread.php?tid=1391522 [2]Answer:你可以看一下这个文档,里面有数种不同形式的 logistic 模型:/web/packages/drc/drc.pdf [3]当然,这是一个 R () 包的文档,但不妨碍你看其中的公式。
本帖包括两个话题:1. 自定义函数的建立 2. 自定义函数的调用。
为什么要建立自定义函数?
如果你没遇到这个问题,没想过这个问题,说明你origin还用得不够,你还只停留在数据绘图的层面上,数据分析功能还值得再拓展。
Origin 是一款科研和工程领域颇受欢迎的数据分析和绘图软件(A Date Analysis and Graphing Software)。
在数据分析功能中,它包涵了峰形分析、曲线拟合、统计、信号处理等功能。
在曲线拟合功能中,用户可以使用Origin自带的内置函数(Built-in Function),然而自带函数不一定满足实际需要,用户还可以根据实际需求自定义拟合函数,并使之进行特殊形态曲线的拟合,得到用户自己关心的曲线参数。
比如在介电材料的阻抗谱研究中,想知道Cole-Cole半圆与实部的两个交点,那么就需要知道这个半圆的方程,从而解出相关参数。
这里以半圆形曲线拟合为例简单介绍用户自定义拟合函数(User Defined Fitting Function)的建立和使用。
一、建立用户自定义函数的步骤:
1.选择 Tools: Fitting Function Organizer (快捷键F9) ,打开 Fitting function organizer. 单击New Category 按钮,创建一个函数类,可以根据自己需要重命名,比如 My functions.然后单击 New Function,在这个类下面创建一个新的函数,然后命名,比如 Semi-circle function:
2. 对该函数进行简短的描述,定义函数所需参数,输入函数方程。
然后,进行最最关键的一步:函数编译!
编译正确是前提是:方程正确,方程中的相关参数在方程之前进行了创建,方程中的运算符格式符合C语言规则。
此处以圆的方程为例,由于只需要知道Y>0的部分,所以方程由圆的方程(x-a)^2+(y-b)^2=R^2 变形为y=sqrt(R^2-(x-a))+b. 其中,a,b,R为待定参数,(a,b)为圆心,R为半径。
参数声明和方程建立完成之后,单击进入编译界面,单击Compile:
如果编译成功,界面如下:
在file中单击 save,然后单击return to dialog,再单击OK。
至此,用户自定义函数的建立已经完成。
二、自定义拟合函数的使用:
曲线拟合的目的是得到曲线的方程,从而计算得到自己关心的数据。
以半圆为例,自定义拟合函数的调用如下:
1. 输入数据,画出图形:
单击曲线,选择:Fitting: Non-linear Curve Fit ,打开NLFit对话框,选定自己定义的函数,然后点击参数(parameter)选项卡,设置初始值:
初始值的大小只需要凭自己经验给定一个大概的值即可:
然后单击一次拟合之后,得到以下结果:
可以看到,拟合结果并不很理想,然后直接拟合到收敛,可以看到拟合结果满意,单击OK:
至此,圆的拟合完成,我们得到了相关参数:圆心(388.19,-32.88),半径301.73。
然后回归实际问题,求得该半圆与X轴的两个交点,即该材料在高频端和低频端的两个电阻值。
参考资料:
7.5以前版本可参照:/course/jghx/jsj/tip/tip001.htm
8.0版本及以上可参考:/~originla/howto/index.php?title=Tutorial:User_Defined_Fitting_Functio n_using_OC。