4.13 FAQ-372 如何利用 LabTalk 脚本获取分析结果报告表的值?

Last Update: 7/6/2018

部分分析操作,如线性拟合和非线性拟合会生成相应的结果报表。这种结果报表将会包含各种嵌套的表格,而表格中将会存放拟合的统计值和参数值。您可以通过 Labtalk 脚本调用 X-Function 来访问这些数值。

对于访问一般的结果报表,您可以使用 getresults X-Function. 。 例如:

// create a tree variable of the results in the active result sheet
getresults myLRFitResults;

// Output a list of properties
myLRFitResults.=;

// if linear fit, can return the slope value by:
myLRFitResults.Parameters.Slope.Value=;


如果您正在使用非线性曲线拟合工具,那么 LabTalk 有一个专门设计用于获取非线性拟合结果的 X-Function: getnlr X-Function。使用此 X-Function 获取的树的结构更简单,并且它还提供自定义选项允许用户通过除索引外的其他方式(如:参数名称)来访问结果。

例如,以下示例已使用已使用 __REPORT$ 系统变量查找结果报表,您可以将以下脚本放到 FDF 文件的 “After Fit” 那部分脚本中,这样就可以在拟合后输出部分拟合结果值。

getnlr myfit iw:=__REPORT$ p:=2;
type %(myfit.func$) fit of %(myfit.Data1.y1$) results:;
for( int ii=1; ii<=myfit.nfuncparams; ii++)
{
    val = myfit.p$(ii);
    err = myfit.e$(ii);
    type Parameter $(ii) \x3D $(val) +/- $(err);
}

注:


在以下示例中,假设对两个 datasets 利用 Boltzmann 函数进行共享参数全局拟合并已获取其拟合结果,其中A1和A2为参数P1和P2,然后我们可以使用 getnlr X-Function 来获取具有两个具有参数名称和缩写表示参数的报告树。

getnlr myfit iw:=FitNL1! p:=2;
FirstAsymptoteA1 = myfit.p1; // Alternative name is A1_1
FirstAsymptoteA2 = myfit.p2; // Alternative name is A2_1
SecondAsymptoteA1 = myfit.A1_2; // Alternative name is p5
SecondAsymptoteA2 = myfit.A2_2; // Alternative name is p6

Keywords:after, fit, nlfit, nonlinear, curve, parameter, result, getnlr, 拟合, 非线性拟合, 曲线, 参数, 结果