工具箱提供了一个一项指数模型和一个两项指数模型
当一个量的变化率与该量的初始量成正比时,常使用指数形式。如果系数与b和/或d是负的,y代表指数衰减。如果系数是正的,y代表指数增长。
例如,核素的单一放射性衰变模式用一项指数来描述。一个被解释为原子核的初始数目,b为衰变常数,x是时间,y为经过一定时间后剩余原子核的数量。如果存在两种衰减模式,则必须使用两项指数模型。对于第二个衰减模式,在模型中加入另一个指数项。
指数增长的例子包括无法治愈的传染病,以及不受捕食、环境因素等限制的生物种群。
进入,打开曲线拟合appcftool
。或者,单击Apps选项卡上的Curve Fitting。
在曲线拟合app中,选择曲线数据(X数据和Y数据,或者只是Y数据对索引)。
曲线拟合app创建默认曲线拟合,多项式
。
更改模型类型多项式
来指数
。
您可以指定以下选项:
选择一个或两个术语来适应exp1
或exp2
。
看看结果窗格,以查看模型项、系数值和适合度统计信息。
(可选)单击合适的选项指定适合您的数据的系数初始值和约束范围,或更改算法设置。
工具箱根据当前数据集计算优化的适合指数的起始点。您可以覆盖起始点并在适合选项对话框中指定您自己的值。
下面给出单项指数的拟合选项。系数的起始值和约束条件用于普查数据。
有关指定适合于数据的起始值的示例,请参见指数背景下的高斯拟合。
有关设置的更多信息,请参见指定合适的选项和优化的起始点。
此示例说明如何使用适合
函数。
的输入参数适合
和fittype
功能。指定模型类型“exp1”
或“exp2”
。
拟合单项指数模型
生成具有指数趋势的数据,然后使用单项指数对数据进行拟合。绘制适合度和数据。
x = (0:0.2:5)”;y = 2*exp(-0.2*x) + 0.1*randn(size(x));f =适合(x, y,“exp1”)
f =一般模型Exp1: f(x) = a*exp(b*x)系数(95%置信区间):a = 2.021 (1.89, 2.151) b = -0.1812 (-0.2104, -0.152)
情节(f, x, y)
拟合一个两项指数模型
f2 =适合(x, y,“exp2”)
f2 =一般模型Exp2: f2(x) = a*exp(b*x) + c*exp(d*x)系数(95%置信区间):a = 2443 (-1.229e+12, 1.229e+12) b = -0.2574 (-1.87e+04, 1.87e+04) c = -2441 (-1.229e+12, 1.229e+12) d = -0.2575 (-1.872e+04, 1.87e+04) d = -0.2575 (-1.872e+04, 1.87e+04)
情节(f2, x, y)
设置开始点
工具箱根据当前数据集计算优化的起始点,使其符合指数。您可以覆盖起始点并指定您自己的值。
找出第一个模型中系数项的次序(f
),使用coeffnames
函数。
coeffnames (f)
ans =2 x1细胞{a} {b}
如果指定了起始点,则选择适合于您的数据的值。为系数设置任意的起始点一个
和b
例如目的。
f =适合(x, y,“exp1”,曾经繁荣的[1,2])
f =一般模型Exp1: f(x) = a*exp(b*x)系数(95%置信区间):a = 2.021 (1.89, 2.151) b = -0.1812 (-0.2104, -0.152)
情节(f, x, y)
检查指数拟合选项
如果您想修改适合您的数据的适合选项,例如系数初始值和约束范围,或者更改算法设置,请检查适合选项。有关这些选项的详细信息,请参见fitoptions
参考页面。
fitoptions (“exp1”)
算法:'Trust-Region' DiffMinChange: 1.0000e-08 DiffMaxChange: 0.1000 Display: 'Notify' MaxFunEvals: 600 MaxIter: 400 TolFun: 1.0000e-06 TolX: 1.0000e-06