适合曲线或表面
创建适合的数据fitobject.
=健康(X
那y
那fitType
)X
和y
指定的模型fitType
.
使用由此指定的算法选项创建适合数据。fitobject.
=健康(X
那y
那fitType
那fitoptions.
)fitoptions.
对象。
使用库模型创建适合数据fitobject.
=健康(X
那y
那fitType
那名称,价值
)fitType
具有一个或多个指定的其他选项名称,价值
对参数。用fitoptions.
为特定库模型显示可用的属性名称和默认值。
加载一些数据,用二次曲线拟合变量Cdate.
和流行
,并绘制拟合和数据。
加载普查;f = fit(Cdate,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”)
为自定义非线性模型创建拟合选项对象和适合类型 , 在哪里一种和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(Cdate,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 = 1
那B = 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(固定在边界)
X
-适合数据要适合的数据,指定为具有一个(曲线配件)或两个(表面拟合)列的矩阵。您可以使用Matlab表中的变量指定使用tableName.varname.varname.
.不能包含正
或南
.只有复杂数据的实际部分用于配合。
例子:X
例子:[x,y]
数据类型:双倍的
y
-适合数据要匹配的数据,指定为行数相同的列向量X
.您可以使用MATLAB表中指定一个变量tableName.varname.varname.
.不能包含正
或南
.只有复杂数据的实际部分用于配合。
用加工urvedata.
或准备索赔
如果您的数据不是列向量表单。
数据类型:双倍的
Z.
-适合数据要匹配的数据,指定为行数相同的列向量X
.您可以使用MATLAB表中指定一个变量tableName.varname.varname.
.不能包含正
或南
.只有复杂数据的实际部分用于配合。
用准备索赔
如果您的数据不是列向量表单。例如,如果您有3个矩阵,或者您的数据是网格矢量表单,在哪里长度(x)= n,长度(y)= m
和大小(Z) = (m, n)
.
数据类型:双倍的
fitType
-拟合模型类型fittype.
模型类型适合,指定为库模型名称字符向量,MATLAB表达式,线性模型的单元阵列,匿名功能或afittype.
建于fittype.
函数。您可以使用任何有效的第一个输入fittype.
作为一个输入合身
.
有关库模型名称的列表,请参阅模型名称和方程.该表显示了一些常见的例子。
图书馆模型名称 |
描述 |
---|---|
|
线性多项式曲线 |
|
线性多项式表面 |
|
二次多项式曲线 |
|
分段线性插值 |
|
分段立方插值 |
|
平滑花键(曲线) |
|
局部线性回归(面) |
要适合自定义模型,请使用matlab表达式,线性模型术语的单元格数组,匿名功能,或创建一个fittype.
与之fittype.
函数并使用它作为fitType
争论。例如,看到使用匿名函数适应自定义模型.有关线性模型术语的示例,请参阅fitType
函数。
例子:'poly2'
fitoptions.
-算法的选择fitoptions.
使用算法选项fitoptions.
函数。这是fit选项指定名称-值对参数的一种替代方法。
指定可选的逗号分离对名称,价值
论点。的名字
是参数名称和价值
为对应值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“低”,(0,0),“上层”,正无穷,max (x),“曾经繁荣”,[1]
指定拟合方法、边界和起始点。
'正常化'
-选择中心和规模的数据'离开'
(默认)|'在'
中心的选项和缩放数据,指定为逗号分隔的对'正常化'
和'在'
或'离开'
.
数据类型:char
'问题'
-分配给问题依赖项的值分配给依赖于问题的常量的值,指定为包含的逗号分隔对'问题'
和一个单元阵列,每个问题有一个元素依赖性恒定。有关详细信息,请参阅fittype.
.
数据类型:细胞
|双倍的
'smoothingparam'
-平滑参数平滑参数,指定为逗号分隔对组成'smoothingparam'
和0到1之间的标量值。默认值取决于数据集。仅适合类型为柔滑浮雕
.
数据类型:双倍的
'跨度'
-用于局部回归的数据点的比例在本地回归中使用的数据点比例指定为逗号分隔对组成'跨度'
和0到1之间的标量值。仅适合类型为洛杉矶
或黄土
.
数据类型:双倍的
“稳健”
-鲁棒线性最小二乘拟合方法'离开'
(默认)|拉
|Bisquare.
鲁棒线性最小二乘拟合方法,指定为逗号分隔对组成“稳健”
和其中一个值:
'lar'
指定最小绝对残差法。
'Bisquare'
指定平方权值方法。
适合类型时可用方法
是LinearLeastSquares
或非线性半角
.
数据类型:char
'降低'
-拟合系数的下界待安装系数的下限,指定为逗号分隔的配对'降低'
和一个向量。默认值为一个空向量,表示拟合是由下限无关的。如果指定了边界,则向量长度必须等于系数的数目。的方法求向量值中系数项的顺序Coeffnames.
函数。例如,看到找到系数顺序以设置起点和界限.可以指定个人无约束的下限-inf.
.
当可用方法
是LinearLeastSquares
或非线性半角
.
数据类型:双倍的
'上'
-装配系数上的上限拟合系数的上界,指定为逗号分隔对,由'上'
和一个向量。默认值是一个空向量,表示适合不受上界的约束。如果指定了边界,则向量长度必须等于系数的数目。的方法求向量值中系数项的顺序Coeffnames.
函数。例如,看到找到系数顺序以设置起点和界限.个人无约束的上限可以指定+正
.
当可用方法
是LinearLeastSquares
或非线性半角
.
数据类型:逻辑
曾经繁荣的
-系数的初始值系数的初始值,指定为逗号分隔的对组成曾经繁荣的
和一个向量。的方法求向量值中系数项的顺序Coeffnames.
函数。例如,看到找到系数顺序以设置起点和界限.
如果没有开始点(空向量的默认值)传递给合身
功能,一些图书馆模型的起点是立即确定的。对于Rational和Weibull模型以及所有自定义非线性模型,工具箱从间隔(0,1)随机地选择均匀的系数的默认初始值。结果,使用相同数据和模型的多个配合可能导致不同的拟合系数。要避免此方法,请指定带有系数的初始值fitoptions.
对象或矢量值曾经繁荣
价值。
当可用方法
是非线性半角
.
数据类型:双倍的
'算法'
-用于拟合程序的算法算法用于拟合的过程,指定为逗号分隔对组成'算法'
和任何一种“Levenberg-Marquardt”
或“信赖域”
.
当可用方法
是非线性半角
.
数据类型:char
'diffmaxchange'
-有限差分梯度系数的最大变化有限差分梯度系数的最大变化,指定为逗号分隔的对'diffmaxchange'
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
“DiffMinChange”
-有限差分梯度系数的最小变化有限差分梯度系数变化的最小值,指定为逗号分隔对,由“DiffMinChange”
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
“显示”
-命令窗口中的显示选项“通知”
(默认)|'最终的'
|'iter'
|'离开'
在命令窗口中显示选项,指定为包含的逗号分隔对“显示”
和其中一个选择:
“通知”
仅当拟合不收敛时显示输出。
'最终的'
仅显示最终输出。
'iter'
显示每次迭代的输出。
'离开'
显示没有输出。
当可用方法
是非线性半角
.
数据类型:char
'maxfunevals'
-允许的模型的最大评估数600
(默认)模型允许的最大计算次数,指定为由逗号分隔的对组成'maxfunevals'
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
'maxiter'
-允许的最大迭代数400.
(默认)拟合允许的最大迭代次数,指定为逗号分隔对组成'maxiter'
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
'tolfun'
-模型值的终止公差在模型值上终止公差,指定为逗号分隔对组成'tolfun'
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
'tolx'
-系数值的终止公差终止耐受系数值,指定为逗号分隔对组成的'tolx'
和一个标量。
当可用方法
是非线性半角
.
数据类型:双倍的
GOF.
- 善良的统计数据GOF.
结构健康的统计数据,作为GOF.
结构包括该表中的字段。
场地 |
价值 |
---|---|
|
由于错误导致的平方和 |
|
R线(测定系数) |
|
误差中的自由度 |
|
自由度调整系数的确定 |
|
根均方误差(标准错误) |
输出
-拟合算法信息输出
结构拟合算法信息,返回输出
包含与拟合算法相关的信息的结构。
字段取决于算法。例如,输出
非线性最小二乘算法的结构包括该表中所示的字段。
场地 |
价值 |
---|---|
|
观察次数(响应值) |
|
适合的未知参数(系数)的数量 |
|
残差矢量 |
|
雅各比亚矩阵 |
|
描述算法的退出条件。正旗表示收敛,在公差范围内。0标志表示超过了函数求值或迭代的最大次数。负标志表明算法没有收敛到一个解。 |
|
迭代次数 |
|
功能评估数量 |
|
一阶最优性度量(梯度分量的绝对最大值) |
|
拟合算法采用 |
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。