主要内容

自定义线性拟合

关于自定义线性模型

在曲线筛选器应用中,你可以使用自定义公式适合定义自己的线性或非线性方程。自定义方程拟合采用非线性最小二乘拟合程序。

你可以定义一个自定义的线性方程自定义公式,但非线性拟合效率较低,通常比线性最小二乘拟合慢。如果需要对自定义方程进行线性最小二乘拟合,请选择线性拟合代替。线性模型是(可能是非线性的)项的线性组合。它们是由参数线性的方程定义的。

提示

如果需要对自定义方程进行线性最小二乘拟合,请选择线性拟合。如果你不知道你的方程是否可以表示为一组线性函数,那么选择自定义公式代替。看到交互式选择自定义方程拟合

交互式选择线性拟合自定义拟合

  1. 在曲线筛选器应用程序中,选择一些曲线数据。在曲线更健康选项卡,在数据部分中,点击选择数据。在“选择拟合数据”对话框中,选择X数据Y数据值。

    曲线筛选器创建一个默认的多项式拟合。

  2. 更改模型类型。在曲线更健康选项卡,在适合类型部分,单击箭头打开图库。在图库中,单击线性拟合自定义组。

    合适的选项窗格中,单击时将显示示例等式线性拟合

    默认线性拟合方程

  3. 你可以改变xy到任何有效的变量名。

  4. 下面的框显示示例方程。改变系数条款条目来更改示例项并定义您自己的方程。

使用示例请参见拟合自定义线性勒让德多项式在曲线过滤器应用程序

在命令行中选择线性拟合

要使用线性拟合算法,请指定模型项的单元格数组或字符串数组作为输入适合fittype功能。不要在项的表达式中包含系数。如果存在常量项,则使用'1'作为数组中相应的表达式。

指定如下形式的线性模型:

Coeff1 * term1 + coeff2 * term2 + coeff3 * term3 +
里面没有系数term1term2等,使用单元格数组或字符串数组,其中每个项(不带系数)被指定为单独的元素。例如:
LinearModelTerms = {“term1”“term2”“term3”}

  1. 确定需要输入的线性模型项fittype。例如,模型

    A *log(x) + b*x + c
    线性于一个b,c。它有三个项日志(x)x,1(因为c = c * 1).要指定此模型,您可以使用以下术语:LinearModelTerms = {'log(x)','x','1'}

  2. 使用线性模型项的单元格数组或字符串数组作为输入fittype功能:

    Linearfittype = fittype({日志(x)的“x”' 1 '})
    线性模型:linearfittype(a,b,c,x) = a*log(x) + b*x + c

  3. 加载一些数据并使用fittype的输入适合函数。

    负载人口普查F = fit(date,pop,linearfittype)
    f =线性模型:f(x) = a*log(x) + b*x + c系数(95%置信限):a = -4.663e+04 (-4.973e+04, -4.352e+04) b = 25.9 (24.26, 27.55) c = 3.029e+05 (2.826e+05, 3.232e+05)
    方法的输入也可以指定线性模型项的单元格数组或字符串数组适合功能:
    F = fit(x,z,{日志(x)的“x”' 1 '})

  4. 绘制拟合和数据。

    情节(f cdate流行)

使用示例请参见适合自定义线性勒让德多项式在命令行

拟合自定义线性勒让德多项式

拟合自定义线性勒让德多项式在曲线过滤器应用程序

这个例子展示了如何使用几个自定义线性方程来拟合数据。数据是根据核反应生成的12C (e, e 'α)8是。方程使用了勒让德多项式项的和。

考虑一个实验,其中124mev的电子从12C核。在随后的反应中,释放出α粒子并产生残核8是。通过分析发射的粒子数作为角度的函数,你可以推断出关于的核动力学的某些信息12C.反应的运动学如下所示。

数据是通过放置固体探测器在Θ值处收集的α范围从10o到240年o在10o增量。

有时用勒让德多项式来描述一个变量作为角度的函数是有用的

y x = n = 0 一个 n P n x

在哪里Pnx)是阶的勒让德多项式nx因为(Θα),一个n是拟合系数。有关生成勒让德多项式的信息,请参阅勒让德函数。

对于α -发射数据,可以通过调用理论模型直接将系数与核动力学联系起来。此外,理论模型引入了上述无限和的约束条件。特别地,通过考虑反应的角动量,仅使用偶项的四次勒让德多项式应该有效地描述数据。

你可以用Rodrigues的公式生成Legendre多项式:

P n x = 1 2 n n d d x n x 2 1 n

直到四次的勒让德多项式

n

Pn(x)

0

1

1

x

2

(1/2) (3x2- 1)

3.

(1/2) (5x3.- 3x

4

(1/8) (35x4- 30x2+ 3)

这个例子展示了如何使用只有偶数项的四次勒让德多项式来拟合数据:

y 1 x = 一个 0 + 一个 2 1 2 3. x 2 1 + 一个 4 1 8 35 x 4 30. x 2 + 3.

  1. 加载12C发射数据。

    负载carbon12alpha

    工作空间现在包含两个新变量:

    • 角度向量(以弧度为单位)的范围是10吗o到240年o在10o增量。

    • 计数原始粒子数的向量是否对应于发射角

  2. 打开曲线筛选器应用程序。

    curveFitter

  3. 在曲线筛选器应用中,在曲线更健康选项卡,在数据部分中,点击选择数据。在“选择拟合数据”对话框中,选择计数随着X数据Y数据值,以创建一个适合这两个变量的默认多项式。

  4. 将拟合类型更改为默认自定义线性拟合。在曲线更健康选项卡,在适合类型部分,单击箭头打开图库。在图库中,单击线性拟合自定义组。

    线性拟合的默认拟合选项

    使用线性拟合而不是自定义公式拟合类型,因为勒让德多项式只依赖于预测变量和常数。您将为模型指定的方程是y1x)(即本程序开始时给出的方程)。因为以弧度表示,勒让德项的参数由cos(Θα).

  5. 合适的选项窗格,改变方程项。

    1. 改变系数名字a2a4,a0

    2. 改变条款a2致:

      (1/2) * (3 * cos (x) ^ 2 - 1)

      当你编辑条款时,曲线筛选器应用程序会更新适合度。

    3. 改变条款a4致:

      (1/8) * (35 * cos (x) ^ 4-30 * cos (x) ^ 2 + 3)

      线性拟合的修正系数和项

      适合出现在曲线筛选器应用程序。

  6. 配合表面板,双击适合的名字值并将其更改为Leg4Even

    曲线Fitter显示Leg4Even适合

  7. 显示残差。在曲线更健康选项卡,在可视化部分中,点击残差图

    Leg4Even拟合的拟合和残差图

    拟合似乎很好地遵循了数据的趋势,而残差似乎是随机分布的,不表现出任何系统行为。

  8. 的数值拟合结果结果窗格。请查看括号内的每个系数值及其置信范围。95%置信限表明与一个0x),一个4x)是相当准确的,但是一个2x)系数具有较大的不确定性。

    结果窗格显示Leg4Even拟合的系数值和拟合优度统计

  9. 为了证实α -发射数据最好用只有偶数项的四次勒让德多项式来描述的理论论点,接下来使用偶数项和奇数项来拟合数据:

    y 2 x = y 1 x + 一个 1 x + 一个 3. 1 2 5 x 3. 3. x

    首先,制作一个拷贝的勒让德多项式拟合来修改。在曲线更健康选项卡,在文件部分中,点击重复的。的新选项卡中显示重复的匹配适合窗格。

  10. 配合表窗格,将新匹配重命名为Leg4EvenOdd

  11. 合适的选项窗格,改变方程项。

    编辑下列条款以拟合由给出的模型y2x):

    1. 单击最后一个+按钮两次,以添加奇数的勒让德术语。

    2. 将新的系数名称更改为a1a3

    3. 改变条款a1致:

      cos (x)

    4. 改变条款a3致:

      (1/2) * (5 * cos (x) ^ 3 - 3 * cos (x))

      修正了Leg4EvenOdd拟合的系数和项

  12. 观察在Curve Fitter应用程序中绘制的新拟合,并检查结果窗格。

    结果窗格显示Leg4EvenOdd拟合的系数值和拟合优度统计

    注意奇数勒让德系数(a1a3)可能被移除以简化拟合,因为它们的值很小,而且它们的置信限包含零。这些结果表明,奇数Legendre项对拟合没有显著贡献,偶数Legendre项与以前的拟合基本不变。这证实了初始模型选择Leg4Even合身是最好的。

  13. 并排比较它们的适合程度。单击位于合适图形选项卡最右边的文档操作箭头。选择瓷砖都选项并指定1 × 2的布局。

    控件可以只显示图形合适的选项结果,配合表窗格。

    在Curve Fitter应用程序中,这两个图形并排匹配

适合自定义线性勒让德多项式在命令行

在你在Curve Fitter应用中创建的命令行中拟合相同的模型。

  1. 要使用线性拟合算法,请指定模型项的单元格数组或字符串数组作为输入fittype函数。使用相同的条款你在曲线筛选器应用程序中输入的Leg4Even拟合,不指定任何系数。

    Linearft = fittype({”(1/2)* (3 * cos (x) ^ 2 - 1)””(1/8)* (35 * cos (x) ^ 4-30 * cos (x) ^ 2 + 3)的' 1 '})
    linearft =线性模型:linearft (a, b, c, x) = a * ((1/2) * (3 * cos (x) ^ 2 - 1))…+ b*((1/8)*(35*cos(x)^4-30*cos(x)^2+3)) + c

  2. 加载计数工作空间中的变量。

    负载carbon12alpha

  3. 使用fittype的输入适合函数,并指定计数工作空间中的变量。

    F = fit(angle,counts,linearft)
    线性模型:f = f (x) = a * ((1/2) * (3 * cos (x) ^ 2 - 1))…+ b*((1/8)*(35*cos(x)^4-30*cos(x)^2+3)) + c系数(95%置信限):a = 23.86 (4.436, 43.29) b = 201.9 (180.2, 223.6) c = 102.9 (93.21, 112.5)

  4. 绘制拟合和数据。

    情节(f,角,计算)

有关线性模型术语的更多详细信息,请参阅fittype函数。