fitoptions
创建或修改适合选项对象
语法
描述
创建默认的适合选项对象fitOptions
= fitoptionsfitOptions
.
为库模型创建默认的适合选项对象。fitOptions
= fitoptions (libraryModelName
)
使用一个或多个指定的附加选项为指定的库模型创建合适的选项fitOptions
= fitoptions (libraryModelName
,名称,值
)名称,值
对参数。
对象的匹配选项对象fitOptions
= fitoptions (fitType
)fitType
.使用此语法可处理自定义模型的适合选项。
创建带有一个或多个指定的附加选项的合适选项fitOptions
= fitoptions (名称,值
)名称,值
对参数。
修改现有的适合选项对象newOptions
= fitoptions (fitOptions
,名称,值
)fitOptions
并返回更新后的适合选项newOptions
使用一个或多个指定的新选项名称,值
对参数。
组合现有拟合选项对象newOptions
= fitoptions (options1
,options2
)options1
而且options2
在newOptions
.
如果
方法
中的属性的非空值options2
中的对应值options1
在newOptions
.如果
方法
不同,newOptions
包含了options1
值方法
价值观来自options2
为正常化
,排除
,权重
.
例子
修改默认适合选项以规范化数据
创建默认的拟合选项对象,并在拟合前将该选项设置为居中和缩放数据。
选项= fitoptions;选项。正常=“上”
options =正常化:'on'排除:[1x0 double]权重:[1x0 double]方法:'None'
为高斯匹配创建默认匹配选项
选项= fitoptions(“gauss2”)
options =归一化:'off'排除:[]权重:[]方法:'非线性最小二乘法'稳健:'off'起始点:[1x0 double]下:[-Inf -Inf 0 -Inf -Inf 0]上:[1x0 double]算法:'Trust-Region' DiffMinChange: 1.0000 -08 DiffMaxChange: 0.1000显示:'Notify' MaxFunEvals: 600 MaxIter: 400 TolFun: 1.0000 -06 TolX: 1.0000 -06
设置多项式拟合选项
为三次多项式创建拟合选项,并设置中心和尺度以及稳健拟合选项。
选项= fitoptions(“poly3”,“正常化”,“上”,“稳健”,“Bisquare”)
选项=归一化:'on'排除:[]权重:[]方法:'线性最小二乘'稳健:'Bisquare'下:[1x0 double]上:[1x0 double]
创建线性最小二乘的拟合选项
选项= fitoptions(“方法”,“LinearLeastSquares”)
选项=归一化:'off'排除:[]权重:[]方法:'线性最小二乘'稳健:'off'下:[1x0 double]上:[1x0 double]
在多次适配中使用相同的适配选项
属性时,修改默认匹配选项对象非常有用正常化
,排除
,或权重
属性,然后使用相同的选项和不同的拟合方法来拟合数据。例如,下面使用相同的拟合选项来拟合不同的库模型类型。
负载人口普查选项= fitoptions;选项。正常化=“上”;F1 = fit(cdate,pop,“poly3”、选择);F2 = fit(cdate,pop,“exp1”、选择);F3 = fit(cdate,pop,“cubicspline”选项)
f3 =三次插值样条:f3(x) =从p计算的分段多项式,其中x由平均值1890归一化,std 62.05系数:p =系数结构
找到并更改平滑匹配选项
求平滑参数。依赖于数据的拟合选项,例如光滑的
方法的第三个输出参数中返回适合
函数。
负载人口普查[f,gof,out] = fit(cdate,pop,“SmoothingSpline”);Smoothparam = out.p
Smoothparam = 0.0089
修改默认平滑参数为一个新的适合。
选项= fitoptions(“方法”,“SmoothingSpline”,...“SmoothingParam”, 0.0098);[f,gof,out] = fit(cdate,pop,“SmoothingSpline”、选择);
应用系数边界改善高斯拟合
创建高斯拟合,检查置信区间,并指定下限拟合选项来帮助算法。
创建两个高斯峰的噪声和,一个宽度小,一个宽度大。
A1 = 1;B1 = -1;C1 = 0.05;A2 = 1;B2 = 1;C2 = 50;X = (-10:0.02:10)';Gdata = a1*exp(-((x-b1)/c1).^2) +...(a2 * exp () - (x-b2 / c2)。^ 2)+...0.1 *(兰德(大小(x)));情节(x, gdata)
使用两项高斯库模型拟合数据。
Gfit = fit(x,gdata,“gauss2”)
gfit =通用模型高斯s2: gfit(x) = a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)系数(95%置信限):a1 = -0.1451 (-1.485, 1.195) b1 = 9.725 (-14.7, 34.15) c1 = 7.117 (-15.84, 30.07) a2 = 14.08 (-1.962e+ 04,1.965 e+04) b2 = 607.4 (-3.197e+ 04,3.209 e+05) c2 = 376 (-9.745e+ 04,9.82 2e+04)
情节(礼物,x, gdata)
该算法存在一定的困难,从几个系数的置信区间较宽可以看出。
为了帮助算法,指定非负振幅的下界a1
而且a2
和宽度c1
,c2
.
选项= fitoptions(“gauss2”,“低”, [0 -Inf 0 0 -Inf 0]);
或者,您可以使用表单设置适合选项的属性选项。属性= NewPropertyValue
.
选项= fitoptions(“gauss2”);选项。较低的= [0 -Inf 0 0 -Inf 0];
使用对系数的约束重新计算拟合。
Gfit = fit(x,gdata,“gauss2”选项)
gfit =一般模型gauss: gfit(x) = a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2)系数(95%置信限):a1 = 1.005 (0.966, 1.044) b1 = -1.002, -0.9988) c1 = 0.0491 (0.0469, 0.0513) a2 = 0.9985 (0.9958, 1.001) b2 = 0.8059 (0.3879, 1.224) c2 = 50.6 (46.68, 54.52)
情节(礼物,x, gdata)
这件更合身。通过将合理的值赋给拟合选项对象中的其他属性,可以进一步改进拟合。
复制并组合适合选项
创建合适的选项并设置下界。
选项= fitoptions(“gauss2”,“低”, [0 -Inf 0 0 -Inf 0])
options =归一化:'off'排除:[]权重:[]方法:'非线性最小二乘法'稳健:'off' StartPoint: [1x0 double]下:[0 -Inf 00 -Inf 0]上:[1x0 double]算法:'Trust-Region' DiffMinChange: 1.0000 -08 DiffMaxChange: 0.1000显示:'Notify' MaxFunEvals: 600 MaxIter: 400 TolFun: 1.0000 -06 TolX: 1.0000 -06
制作适合选项的新副本并修改健壮性参数。
Newoptions = fitoptions(选项,“稳健”,“Bisquare”)
newoptions = Normalize: 'off'排除:[]权重:[]方法:'非线性最小二乘法'稳健:'Bisquare'起始点:[1x0 double]下:[0 -Inf 00 -Inf 0]上:[1x0 double]算法:'Trust-Region' DiffMinChange: 1.0000 -08 DiffMaxChange: 0.1000显示:'Notify' MaxFunEvals: 600 MaxIter: 400 TolFun: 1.0000 -06 TolX: 1.0000 -06
组合合适的选择。
Options2 = fitoptions(选项,newoptions)
options2 = Normalize: 'off'排除:[]权重:[]方法:'非线性最小二乘法' Robust: 'Bisquare' StartPoint: [1x0 double]下:[0 -Inf 00 -Inf 0]上:[1x0 double]算法:'Trust-Region' DiffMinChange: 1.0000 -08 DiffMaxChange: 0.1000显示:'Notify' MaxFunEvals: 600 MaxIter: 400 TolFun: 1.0000 -06 TolX: 1.0000 -06
更改自定义模型适合选项
创建一个线性模型拟合类型。
LFT = fittype({“x”,“sin (x)”,' 1 '})
线性模型:lft(a,b,c,x) = a*x + b*sin(x) + c
获取适合类型的适合选项融通
.
Fo = fitoptions(lft)
fo =归一化:'off'排除:[]权重:[]方法:'线性最小二乘'稳健:'off'下:[1x0 double]上:[1x0 double]
设置normalize fit选项。
fo。正常化=“上”
fo =归一化:'on'排除:[]权重:[]方法:'线性最小二乘'稳健:'Off'下:[1x0 double]上:[1x0 double]
输入参数
libraryModelName
- - - - - -拟合的库模型
特征向量|字符串标量
要拟合的标准库模型,指定为字符向量或字符串标量。下表显示了一些常见的例子。
图书馆模型名称 |
描述 |
---|---|
|
线性多项式曲线 |
|
线性多项式曲面 |
|
二次多项式曲线 |
|
分段线性插值 |
|
分段三次插值 |
|
平滑样条(曲线) |
|
局部线性回归(曲面) |
有关库模型名称的列表,请参见模型名称和方程.
例子:“poly2”
数据类型:字符
|字符串
fitType
- - - - - -适合的模型类型
fittype
要适合的模型类型,指定为fittype
用fittype
函数。使用这个工作适合自定义模型的选项。
fitOptions
- - - - - -算法的选择
fitoptions
算法选项,指定为fitoptions
对象创建。fitoptions
函数。
options1
- - - - - -要组合的算法选项
fitoptions
算法选项组合,构造使用fitoptions
函数。
options2
- - - - - -要组合的算法选项
fitoptions
算法选项组合,构造使用fitoptions
函数。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:“方法”、“NonlinearLeastSquares”,“低”,(0,0),“上层”,正无穷,max (x),“曾经繁荣”,[1]
指定拟合方法、边界和起点。
正常化
- - - - - -选择集中和缩放数据
“关闭”
(默认)|“上”
选项将数据居中并缩放,指定为逗号分隔的对,由“正常化”
而且“上”
或“关闭”
.
数据类型:字符
排除
- - - - - -分不适合排除
表达式|索引向量|逻辑向量|空
要从拟合中排除的点,指定为逗号分隔的对,由“排除”
其中之一是:
描述逻辑向量的表达式,例如:
10 . X >
.一个整数向量,索引你想要排除的点,例如,
[1 10 25]
.所有数据点的逻辑向量
真正的
表示异常值,由excludedata
.
有关示例,请参见适合
.
权重
- - - - - -适合度权重
[](默认)|向量
匹配的权重,指定为逗号分隔的对,由“重量”
向量的大小与数据点的数量相同。
数据类型:双
方法
- - - - - -拟合方法
“没有”
(默认)|“NearestInterpolant
|“LinearInterpolant”
|“PchipInterpolant”
|CubicSplineInterpolant”
|……
拟合方法,指定为由逗号分隔的对组成“方法”
以及本表中的拟合方法之一。
拟合方法 |
描述 |
---|---|
|
最近邻插值 |
|
线性插值 |
|
分段三次埃尔米特插值(仅限曲线) |
|
三次样条插值 |
|
双谐曲面插值 |
|
平滑样条 |
|
低平滑度(仅限表面) |
|
线性最小二乘 |
|
非线性最小二乘 |
数据类型:字符
|字符串
SmoothingParam
- - - - - -平滑参数
范围(0,1)中的标量值
平滑参数,指定为逗号分隔的对,由“SmoothingParam”
和一个0到1之间的标量值。默认值取决于数据集。只有在方法
是SmoothingSpline
.
数据类型:双
跨度
- - - - - -用于局部回归的数据点的比例
0.25(默认)|范围(0,1)中的标量值
在局部回归中使用的数据点的比例,指定为由逗号分隔的对组成的“跨越”
和一个0到1之间的标量值。只有在方法
是LowessFit
.
数据类型:双
健壮的
- - - - - -鲁棒线性最小二乘拟合方法
“关闭”
(默认)|“守护神”
|“Bisquare”
稳健线性最小二乘拟合方法,指定为逗号分隔对组成“稳健”
其中一个价值观是:
“守护神”
指定最小绝对残差方法。“Bisquare”
指定bisquare weights方法。
适用于方法
是LinearLeastSquares
或NonlinearLeastSquares
.
数据类型:字符
较低的
- - - - - -拟合系数的下界
[](默认)|向量
要拟合的系数的下界,指定为逗号分隔的对,由“低”
还有一个向量。默认值为空向量,表示拟合不受下界约束。如果指定了边界,则向量长度必须等于系数的数量。函数求向量值中系数的项的顺序coeffnames
函数。有关示例,请参见适合
.单独的无约束下界可以由负
.
适用于方法
是LinearLeastSquares
或NonlinearLeastSquares
.
数据类型:双
上
- - - - - -拟合系数的上界
[](默认)|向量
要拟合的系数的上界,指定为逗号分隔的对,由“上”
还有一个向量。默认值为空向量,表示拟合不受上界约束。如果指定了边界,则向量长度必须等于系数的数量。函数求向量值中系数的项的顺序coeffnames
函数。有关示例,请参见适合
.单独的无约束上界可以由+正
.
适用于方法
是LinearLeastSquares
或NonlinearLeastSquares
.
数据类型:逻辑
曾经繁荣
- - - - - -系数的初值
[](默认)|向量
系数的初始值,指定为逗号分隔的对,由曾经繁荣的
还有一个向量。函数求向量值中系数的项的顺序coeffnames
函数。有关示例,请参见适合
.
对象没有传递起始点(空向量的默认值)适合
函数中,一些库模型的起点是启发式确定的。对于有理模型和威布尔模型,以及所有自定义非线性模型,工具箱从区间(0,1)中均匀随机地为系数选择默认初始值。因此,使用相同数据和模型的多次拟合可能导致不同的拟合系数。属性的向量值指定系数的初值以避免这种情况曾经繁荣
财产。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
算法
- - - - - -拟合程序使用的算法
“Levenberg-Marquardt”(默认)|“信赖域”
拟合过程中使用的算法,指定为逗号分隔的对,由“算法”
,要么“Levenberg-Marquardt”
或“信赖域”
.
适用于方法
是NonlinearLeastSquares
.
数据类型:字符
DiffMaxChange
- - - - - -有限差分梯度的最大系数变化
0.1
(默认)
有限差分梯度的最大系数变化,指定为由逗号分隔的对组成的“DiffMaxChange”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
DiffMinChange
- - - - - -有限差分梯度的最小系数变化
108
(默认)
有限差分梯度的最小系数变化,指定为由逗号分隔的对组成的“DiffMinChange”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
显示
- - - - - -命令窗口中的显示选项
“通知”
(默认)|“最后一次”
|“通路”
|“关闭”
命令窗口中的显示选项,指定为由逗号分隔的对组成“显示”
其中一个选项是:
“通知”
仅在拟合不收敛时显示输出。“最后一次”
只显示最终输出。“通路”
显示每次迭代的输出。“关闭”
不显示输出。
适用于方法
是NonlinearLeastSquares
.
数据类型:字符
MaxFunEvals
- - - - - -模型允许的最大评估次数
600
(默认)
模型允许的最大计算数,指定为由逗号分隔的对组成的“MaxFunEvals”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
麦克斯特
- - - - - -适合所允许的最大迭代次数
400
(默认)
拟合所允许的最大迭代次数,指定为逗号分隔的对,由“麦克斯特”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
TolFun
- - - - - -模型值的终止公差
106
(默认)
模型值上的终止容差,指定为由逗号分隔的对组成“TolFun”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
TolX
- - - - - -系数值的终止公差
106.(默认)
终止公差上的系数值,指定为由逗号分隔的对组成“TolX”
一个标量。
适用于方法
是NonlinearLeastSquares
.
数据类型:双
输出参数
fitOptions
-算法选项
fitoptions
算法选项,返回为fitoptions
对象。
newOptions
-新的算法选项
fitoptions
新算法选项,返回为fitoptions
对象。
版本历史
R2006a之前介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。