如何在Origin Lab中编写和调用C语言程序及复杂公式拟合
标签:
it |
分类: 理论与计算化学 |
前两天一朋友问我如何在Origin
Lab中编写和调用C语言程序,我也没搞过,于是利用软件自带的Help说明(Programming->OriginC),捣鼓了两天,结果成功了,总结如下(我用的Origin
8.0):
Lab中编写和调用C语言程序及复杂公式拟合" />
1. 新建一个Project,点击工具栏的Code Builder按钮(齿轮)http://s6/mw690/001eQZVxzy6U2kmnuRv15&690Lab中编写和调用C语言程序及复杂公式拟合" TITLE="如何在Origin Lab中编写和调用C语言程序及复杂公式拟合" />
2. 进入Code Builder界面,同样新建,选择第一个C Filehttp://s16/mw690/001eQZVxzy6U2kvbzEbdf&690Lab中编写和调用C语言程序及复杂公式拟合" TITLE="如何在Origin Lab中编写和调用C语言程序及复杂公式拟合" />
3. 在程序区域编写所需代码,例如如下的程序就是利用二分法(bisection method)求解w tan(w/2) =
x
http://s6/mw690/001eQZVxgy6U2kEI5wN25&690Lab中编写和调用C语言程序及复杂公式拟合" TITLE="如何在Origin Lab中编写和调用C语言程序及复杂公式拟合" />
http://s13/mw690/001eQZVxgy6U2kQM3VOcc&690Lab中编写和调用C语言程序及复杂公式拟合" TITLE="如何在Origin 5. 在LabTalk Console窗口中输入程序的名称及参数,如wx(1),就能运行程序并查看结果http://s13/mw690/001eQZVxgy6U2laXGLqcc&690Lab中编写和调用C语言程序及复杂公式拟合" TITLE="如何在Origin Lab中编写和调用C语言程序及复杂公式拟合" />
至此一个C程序搞定,如需将其导入拟合公式,则需要使用如下语句:
#include
其中F:\Softwares\OriginDataStroe\是wx.c的绝对路径
第二部分是如何在Origin中进行复杂公式,即无法直接写成y=f(x)形式的公式,比如中间需要求解上述w tan( w/2)
= x方程得到参数w的情况,这时可以进行如下操作:
1. 进入Analysis->Non Liner
Curve Fit->Fitting Function
Organizer,参数如下,点击红框按钮进入Function编辑
http://s13/mw690/001eQZVxzy6U2mocyYY2c&690Lab中编写和调用C语言程序及复杂公式拟合" />
2. 以文献Inorg. Chem.
2014, 53, 10291中Page
10295中的公式为例,函数形式如下,其中x对应于1/T,也对应于Ln(tauL),用z替换了wx中的x:
#include
double ksi, z, w, f, tauInf, tauL;
//double wx(x);
ksi = 0.5*exp(Dksi*x);
z = L/ksi;
// w tan(w/2)=z solution
-> w(z)
w = wx(z);
f = 1.0/(1.0+w*w/(z*z));
tauInf = 0.5*tau1*exp(Dtau1*x);
tauL = tauInf*f;
y = ln(tauL);

加载中…