主要内容

合身

适合曲线或表面

描述

例子

fitobject.=健康(XyfitType创建适合的数据Xy指定的模型fitType

例子

fitobject.= fit([Xy],Z.fitType创建一个拟合向量中的数据的表面Xy, 和Z.

例子

fitobject.=健康(XyfitTypefitoptions.使用由此指定的算法选项创建适合数据。fitoptions.对象。

例子

fitobject.=健康(XyfitType名称,价值使用库模型创建适合数据fitType具有一个或多个指定的其他选项名称,价值对参数。用fitoptions.为特定库模型显示可用的属性名称和默认值。

例子

[fitobject.GOF.] =适合(XyfitType返回结构中的拟合优度统计信息GOF.

例子

[fitobject.GOF.输出] =适合(XyfitType返回结构中的拟合算法信息输出

例子

全部收缩

加载一些数据,用二次曲线拟合变量Cdate.流行,并绘制拟合和数据。

加载普查;f = fit(C​​date,Pop,'poly2'
系数(有95%置信限):p1 = 0.006541 (0.006124, 0.006958) p2 = -23.51 (-25.09, -21.93) p3 = 2.113e+04 (1.964e+04, 2.262 2e+04)
情节(f cdate流行)

有关库模型名称的列表,请参阅fitType

加载一些数据并适合2度的多项式表面X并获得学士学位y.绘制拟合和数据。

加载弗兰克科幻小说=适合(x, y, z,'poly23'
线性模型Poly23:SF(x,y)= p00 + p10 * x + p01 * y + p20 * x ^ 2 + p11 * x * y + p02 * y ^ 2 + p21 * x ^ 2 * y + p12 * x* y ^ 2 + p03 * y ^ 3系数(具有95%的置信度):P00 = 1.118(0.9149,1.321)P10 = -0.0002941(-0.000502,8.623E-05)P01 = 1.533(0.7032,2.364)P20= -1.966e-08(-7.084e-08,3.152E-08)P11 = 0.0003427(-0.0001009,0.0007863)P02 = -6.951(-8.421,-5.481)P21 = 9.563E-08(6.276E-09,1.85E-07)P12 = -0.0004401(-0.0007082,-0.0001721)P03 = 4.999(4.082,5.917)
绘图(SF,[x,y],z)

加载弗兰克数据并将其转换为Matlab®表。

加载弗兰克t =表(x,y,z);

的输入指定表中的变量合身功能,并绘制拟合。

f = fit([t.x,t.y],t.z,'linearinterp');情节(f, [T。X那T.y], T.z )

控件加载并绘制数据,创建适合选项和适合类型fittype.fitoptions.函数,然后创建和绘制拟合。

加载并绘制数据census.mat

加载普查情节(cdate、流行,“o”

为自定义非线性模型创建拟合选项对象和适合类型 y = 一种 X - B. N , 在哪里一种B.是系数和N是一个与问题相关的参数。

fo = fitoptions(“方法”'非线性半角'...'降低'(0, 0),...'上',[inf,max(cdate)],...曾经繁荣的[1]);英国《金融时报》= fittype (“*(取向)^ n”'问题'“n”“选项”,fo);

使用拟合选项和值符合数据N= 2。

[曲线2,GOF2] =配合(Cdate,Pop,Ft,'问题'2)
系数(95%置信限):a = 0.006092 (0.005743, 0.006441) b = 1789(1784,1793)问题参数:n = 2
GOF2 =结构与字段:Sse: 246.1543 rsquare: 0.9980 dfe: 19 adjrsquare: 0.9979 rmse: 3.5994

使用拟合选项和值符合数据N= 3。

[曲线3,GOF3] =适合(Cdate,Pop,Ft,'问题'3)
curve3 = General model: curve3(x) = a*(x-b)^n Coefficients (with 95% confidence bounds): a = 1.359e-05 (1.245e-05, 1.474e-05) b = 1725 (1718, 1731) Problem parameters: n = 3
GOF3 =结构与字段:adrsquare: 0.9980 rmse: 3.4944

用数据绘制拟合结果。

抓住绘图(曲线2,“米”)绘图(曲线3,“c”) 传奇(“数据”'n = 2'“n = 3”) 抓住离开

装载一些数据并配合,并用中心和比例绘制立方多项式(正常化)和强大的拟合选择。

加载普查;f = fit(C​​date,Pop,“poly3”'正常化''在'“稳健”'Bisquare'
系数(95%置信限):p1 = -0.4619 (-1.895, 0.9707) p2 = 25.01 (23.79, 26.22) p3 = 77.03 (74.37, 79.7) p4 = 62.81 (61.26, 64.37)
情节(f cdate流行)

在文件中定义函数并使用它来创建适合类型并适合曲线。

在MATLAB中定义函数®文件。

功能y = piecewiseLine (x, a, b, c, d, k)%分段电线由两件制成的线那不是连续的。y = 0(大小(x));%此示例包括for-loop和if语句%纯粹以例如目的。为了i = 1:长度(x)如果x(i)别的Y (i) = c + d. x(i);结尾结尾结尾

保存文件。

定义某些数据,创建指定函数的适合类型分离线,使用适合类型创建拟合FT.,并绘制结果。

X = [0.81; 0.91; 0.13; 0.91; 0.63; 0.098; 0.28; 0.55;...0.96; 0.96; 0.16; 0.97; 0.96);y = [0.17; 0.12; 0.16; 0.0035; 0.37; 0.082; 0.34; 0.56;...0.15; -0.046; 0.17; -0.091; -0.071);英国《金融时报》= fittype ('piecewiseLine(x, a, b, c, d, k)') f = fit(x, y, ft,)曾经繁荣的,[1,0,1,0,0.5]图(f,x,y)

加载一些数据并符合自定义方程,指定要排除的点。绘制结果。

加载数据并定义自定义方程和一些起点。

[x, y] =钛;gaussEqn ='a * exp( - ((x-b)/ c)^ 2)+ d'
Gausseqn ='a * exp( - ((x-b)/ c)^ 2)+ d'
startpoints = [1.5 900 10 0.6]
startpoints =1×41.5000 900.0000 10.0000 0.6000

使用自定义方程和起始点创建两个配合,并使用索引向量和表达式定义两个不同的排除点集。用排除从拟合中删除异常值。

f1 =适合(x, y, gaussEqn,'开始',startpoints,“排除”,[1 10 25])
f1 = General model: f1(x) = a*exp(-((x-b)/c)^2)+d Coefficients (with 95% confidence bounds): a = 1.493 (1.432, 1.554) b = 897.4 (896.5, 898.3) c = 27.9 (26.55, 29.25) d = 0.6519 (0.6367, 0.6672)
f2 = fit(x',y',gausseqn,'开始',startpoints,“排除”,x <800)
f2 = General model: f2(x) = a*exp(-((x-b)/c)^2)+d Coefficients (with 95% confidence bounds): a = 1.494 (1.41, 1.578) b = 897.4 (896.2, 898.7) c = 28.15 (26.22, 30.09) d = 0.6466 (0.6169, 0.6764)

绘制既适合。

绘制(F1,X,Y)标题('适合数据点1,10和25排除'

图绘图(f2,x,y)标题('适合数据点,排除在此之后x <800'

您可以将排除的点定义为变量,然后将其作为输入到拟合功能。以下步骤重新创建前一个示例中的配合,并允许您绘制排除的点以及数据和拟合。

加载数据并定义自定义方程和一些起点。

[x, y] =钛;gaussEqn ='a * exp( - ((x-b)/ c)^ 2)+ d'
Gausseqn ='a * exp( - ((x-b)/ c)^ 2)+ d'
startpoints = [1.5 900 10 0.6]
startpoints =1×41.5000 900.0000 10.0000 0.6000

使用索引向量和表达式定义两组要排除的点。

outlude1 = [11 10 25];complude2 = x <800;

创建两个适合使用自定义方程,起点,和两个不同的排除点。

f1 =适合(x, y, gaussEqn,'开始',startpoints,“排除”,排除1);f2 = fit(x',y',gausseqn,'开始',startpoints,“排除”, exclude2);

绘制符合和突出排除的数据。

情节(f1, x, y, exclude1)标题('适合数据点1,10和25排除'

数字;绘图(F2,x,y,outrude2)标题('适合数据点,排除在此之后x <800'

对于具有排除点的表面配合示例,请加载某些表面数据并创建和绘图配合指定排除的数据。

加载弗兰克f1 = fit([x y],z,'poly23'“排除”, [1 10 25]);f = [x y],z,'poly23'“排除”,z> 1);图绘图(f1,[x y],z,“排除”, [1 10 25]);标题('适合数据点1,10和25排除'

图绘图(f2,[x y],z,“排除”,z> 1);标题('拟合排除的数据点z > 1'

加载一些数据并通过变量拟合平滑样条曲线压力,并返回适合信息和输出结构的良好。绘制适合和残留物。

加载enso.;[曲线,良度,产量]=适合(月,压力,'平滑浮雕');绘图(曲线,月,压力);Xlabel('月');ylabel (“压力”);

对X-DATA绘制残差()。

情节(曲线,月,压力,'残留')包含('月') ylabel ('残留'

使用的数据输出绘制对Y-DATA的残差(压力)。

情节(压力、output.residuals、'。')包含(“压力”) ylabel ('残留'

使用指数趋势生成数据,然后使用指数模型的曲线拟合库中的第一方程(单术语指数)拟合数据。绘制结果。

x =(0:0.2:5)”;Y = 2*exp(-0.2*x) + 0.5*randn(size(x))); / /f =适合(x, y,'exp1');绘图(F,X,Y)

可以使用匿名函数来更容易地将其他数据传递到合身函数。

加载数据和设置Emax.1在定义匿名功能之前:

data = importData('opioidhypnoticsynergy.txt');异丙酚= data.data (: 1);Remifentanil = data.data (:, 2);痛觉计= data.data (: 3);Emax = 1;

将模型方程定义为匿名函数:

效果= @(IC50A,IC50B,Alpha,N,X,Y)...Emax *(X / IC50A + Y / IC50B + Alpha *(X / IC50A)...。*(y / ic50b))。^ n ./((x / IC50a + y / ic 50b +...Alpha *(X / IC50A)。*(Y / IC50B))。^ N + 1);

使用匿名功能效果作为输入合身函数,并绘制结果:

algometryeffect = fit(ρ,varofol,remifentanil],alborry,效果,...曾经繁荣的, [2, 10, 1,0.8],...'降低', [-Inf, -Inf, -Inf],...“稳健”'lar')绘图(algometryeffect,achofol,remifentanil],alborry)

有关使用匿名功能和其他定制模型的更详细的拟合,请参阅fittype.函数。

对于属性较低的, 和曾经繁荣,您需要查找系数条目的顺序。

创建适合类型。

英国《金融时报》= fittype (" b * x ^ 2 + c * x +一个“);

获取系数名称并使用订单Coeffnames.函数。

Coeffnames(FT)
ans =.3x1细胞{'a'} {'b'} {'c'}

注意,这与用于创建的表达式中系数的顺序不同FT.fittype.

加载数据,创建适合并设置起始点。

加载enso.FIT(月,压力,FT,曾经繁荣的,[1,3,5])
ANS =一般模型:ANS(x)= b * x ^ 2 + c * x +系数(具有95%的置信度):a = 10.94(9.362,12.52)b = 0.0001677(-7.985e-05,0.0004153)C = -0.0224(-0.06559,0.02079)

这给系数赋了如下的初值:a = 1B = 3.c = 5

或者,您可以获得适合选项并设置起点和下界,然后使用新选项重新设置。

选择= fitoptions(英尺)
选项=正常化:'关闭'排除:[]权重:[]方法:'非线性半角'鲁棒:'关闭'开始点:[1x0 double]较低:[1x0 double] upper:[1x0 double]算法:'信任区域'Diffminchange:1.0000E-08 DiffMaxChange:0.1000显示:“通知”MaxFunevals:600 MAXITER:400 TOLFUN:1.0000E-06 TOLX:1.0000E-06
选项。StartPoint = [10 1 3];选项。较低的=[0 -Inf 0]; fit(month,pressure,ft,options)
a = 10.23 (9.448, 11.01) b = 4.335e-05 (-1.82e-05, 0.0001049) c = 5.523e-12(固定在边界)

输入参数

全部收缩

要适合的数据,指定为具有一个(曲线配件)或两个(表面拟合)列的矩阵。您可以使用Matlab表中的变量指定使用tableName.varname.varname..不能包含.只有复杂数据的实际部分用于配合。

例子:X

例子:[x,y]

数据类型:双倍的

要匹配的数据,指定为行数相同的列向量X.您可以使用MATLAB表中指定一个变量tableName.varname.varname..不能包含.只有复杂数据的实际部分用于配合。

加工urvedata.准备索赔如果您的数据不是列向量表单。

数据类型:双倍的

要匹配的数据,指定为行数相同的列向量X.您可以使用MATLAB表中指定一个变量tableName.varname.varname..不能包含.只有复杂数据的实际部分用于配合。

准备索赔如果您的数据不是列向量表单。例如,如果您有3个矩阵,或者您的数据是网格矢量表单,在哪里长度(x)= n,长度(y)= m大小(Z) = (m, n)

数据类型:双倍的

模型类型适合,指定为库模型名称字符向量,MATLAB表达式,线性模型的单元阵列,匿名功能或afittype.建于fittype.函数。您可以使用任何有效的第一个输入fittype.作为一个输入合身

有关库模型名称的列表,请参阅模型名称和方程.该表显示了一些常见的例子。

图书馆模型名称

描述

'poly1'

线性多项式曲线

'poly11'

线性多项式表面

'poly2'

二次多项式曲线

'linearinterp'

分段线性插值

“cubicinterp”

分段立方插值

'平滑浮雕'

平滑花键(曲线)

“洛斯”

局部线性回归(面)

要适合自定义模型,请使用matlab表达式,线性模型术语的单元格数组,匿名功能,或创建一个fittype.与之fittype.函数并使用它作为fitType争论。例如,看到使用匿名函数适应自定义模型.有关线性模型术语的示例,请参阅fitType函数。

例子:'poly2'

使用算法选项fitoptions.函数。这是fit选项指定名称-值对参数的一种替代方法。

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值为对应值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“低”,(0,0),“上层”,正无穷,max (x),“曾经繁荣”,[1]指定拟合方法、边界和起始点。
所有拟合方法的选项

全部收缩

中心的选项和缩放数据,指定为逗号分隔的对'正常化''在''离开'

数据类型:char

要从契合中排除,指定为逗号分隔的配对“排除”之一:

  • 描述逻辑向量的表达式,例如:x> 10

  • 索引要排除的点的整数矢量,例如,[1 10 25]

  • 所有数据点的逻辑向量真的表示一个异常值,由不包括

例如,看到从Fit中排除点

数据类型:逻辑|双倍的

适合的权值,指定为逗号分隔的对,由'重量'和响应数据大小相同的向量y(曲线)或Z.(表面)。

数据类型:双倍的

分配给依赖于问题的常量的值,指定为包含的逗号分隔对'问题'和一个单元阵列,每个问题有一个元素依赖性恒定。有关详细信息,请参阅fittype.

数据类型:细胞|双倍的

平滑选项

全部收缩

平滑参数,指定为逗号分隔对组成'smoothingparam'和0到1之间的标量值。默认值取决于数据集。仅适合类型为柔滑浮雕

数据类型:双倍的

在本地回归中使用的数据点比例指定为逗号分隔对组成'跨度'和0到1之间的标量值。仅适合类型为洛杉矶黄土

数据类型:双倍的

线性和非线性最小二乘选项

全部收缩

鲁棒线性最小二乘拟合方法,指定为逗号分隔对组成“稳健”和其中一个值:

  • 'lar'指定最小绝对残差法。

  • 'Bisquare'指定平方权值方法。

适合类型时可用方法LinearLeastSquares非线性半角

数据类型:char

待安装系数的下限,指定为逗号分隔的配对'降低'和一个向量。默认值为一个空向量,表示拟合是由下限无关的。如果指定了边界,则向量长度必须等于系数的数目。的方法求向量值中系数项的顺序Coeffnames.函数。例如,看到找到系数顺序以设置起点和界限.可以指定个人无约束的下限-inf.

当可用方法LinearLeastSquares非线性半角

数据类型:双倍的

拟合系数的上界,指定为逗号分隔对,由'上'和一个向量。默认值是一个空向量,表示适合不受上界的约束。如果指定了边界,则向量长度必须等于系数的数目。的方法求向量值中系数项的顺序Coeffnames.函数。例如,看到找到系数顺序以设置起点和界限.个人无约束的上限可以指定+正

当可用方法LinearLeastSquares非线性半角

数据类型:逻辑

非线性最小二乘选项

全部收缩

系数的初始值,指定为逗号分隔的对组成曾经繁荣的和一个向量。的方法求向量值中系数项的顺序Coeffnames.函数。例如,看到找到系数顺序以设置起点和界限

如果没有开始点(空向量的默认值)传递给合身功能,一些图书馆模型的起点是立即确定的。对于Rational和Weibull模型以及所有自定义非线性模型,工具箱从间隔(0,1)随机地选择均匀的系数的默认初始值。结果,使用相同数据和模型的多个配合可能导致不同的拟合系数。要避免此方法,请指定带有系数的初始值fitoptions.对象或矢量值曾经繁荣价值。

当可用方法非线性半角

数据类型:双倍的

算法用于拟合的过程,指定为逗号分隔对组成'算法'和任何一种“Levenberg-Marquardt”“信赖域”

当可用方法非线性半角

数据类型:char

有限差分梯度系数的最大变化,指定为逗号分隔的对'diffmaxchange'和一个标量。

当可用方法非线性半角

数据类型:双倍的

有限差分梯度系数变化的最小值,指定为逗号分隔对,由“DiffMinChange”和一个标量。

当可用方法非线性半角

数据类型:双倍的

在命令窗口中显示选项,指定为包含的逗号分隔对“显示”和其中一个选择:

  • “通知”仅当拟合不收敛时显示输出。

  • '最终的'仅显示最终输出。

  • 'iter'显示每次迭代的输出。

  • '离开'显示没有输出。

当可用方法非线性半角

数据类型:char

模型允许的最大计算次数,指定为由逗号分隔的对组成'maxfunevals'和一个标量。

当可用方法非线性半角

数据类型:双倍的

拟合允许的最大迭代次数,指定为逗号分隔对组成'maxiter'和一个标量。

当可用方法非线性半角

数据类型:双倍的

在模型值上终止公差,指定为逗号分隔对组成'tolfun'和一个标量。

当可用方法非线性半角

数据类型:双倍的

终止耐受系数值,指定为逗号分隔对组成的'tolx'和一个标量。

当可用方法非线性半角

数据类型:双倍的

输出参数

全部收缩

适合结果,作为一个返回CFIT.(对于曲线)或sfit(表面)对象。看到适合后处理对于绘制,评估,计算置信区间,集成,区分或修改适合对象的功能。

健康的统计数据,作为GOF.结构包括该表中的字段。

场地

价值

上交所

由于错误导致的平方和

rsquare.

R线(测定系数)

DFE.

误差中的自由度

adjrsquare.

自由度调整系数的确定

rmse

根均方误差(标准错误)

拟合算法信息,返回输出包含与拟合算法相关的信息的结构。

字段取决于算法。例如,输出非线性最小二乘算法的结构包括该表中所示的字段。

场地

价值

numobs

观察次数(响应值)

numparam.

适合的未知参数(系数)的数量

残差

残差矢量

雅各比亚

雅各比亚矩阵

ExitFlag.

描述算法的退出条件。正旗表示收敛,在公差范围内。0标志表示超过了函数求值或迭代的最大次数。负标志表明算法没有收敛到一个解。

迭代

迭代次数

Funccount.

功能评估数量

firstordopt.

一阶最优性度量(梯度分量的绝对最大值)

算法

拟合算法采用

在R2006A之前介绍