精华内容
下载资源
问答
  • matlab fit函数

    万次阅读 2018-03-24 21:05:14
    matlab的曲线拟合曲面拟合有很多,拟合函数也有很多 有时候涉及到自己拟合自己编写的函数,比如自己创建一个函数模型,然后需要数据来拟合模型的未知参数,这些都可以fit解决。 由于涉及到问题比较多,就不一一...

    matlab的曲线拟合曲面拟合有很多,拟合函数也有很多

    有时候涉及到自己拟合自己编写的函数,比如自己创建一个函数模型,然后需要数据来拟合模型的未知参数,这些都可以fit解决。

    由于涉及到问题比较多,就不一一提出和讨论了,有兴趣了解这一块的可以联系,探讨。

    [f,e,out]=fit([x,y],imv,'youfun1(x,y,p1,p2,g)','StartPoint',[50 0.03]);

    展开全文
  • MATLAB fit函数翻译

    万次阅读 多人点赞 2018-03-25 17:33:43
    fit 将曲线或曲面拟合成数据 全部折叠在页面中 句法 fitobject = fit(x,y,fitType) fitobject = fit([x,y],z,fitType) fitobject = fit(x,y,fitType,fitOptions) fitobject = fit(x,y,fitType,Name,Value...

    fit

    将曲线或曲面拟合成数据

    全部折叠在页面中

    句法

    fitobject = fit(x,y,fitType)

    fitobject = fit([x,y],z,fitType)

    fitobject = fit(x,y,fitType,fitOptions)

    fitobject = fit(x,y,fitType,Name,Value)

    [fitobject,gof] = fit(x,y,fitType)

    [fitobject,gof,output] = fit(x,y,fitType)

    描述

    fitobject = fit(x,y,fitType)创建适合于对数据xy由指定的型号fitType

    fitobject = fit([x,y],z,fitType)创建一个表面拟合到数据中的载体xyz

    fitobject = fit(x,y,fitType,fitOptions)使用由对象指定的算法选项来创建适合数据的数据fitOptions

    fitobject = fit(x,y,fitType,Name,Value)使用库模型使用一个或多个对参数指定的附加选项来创建数据拟合。使用以显示可用的属性名称和默认值特定库模型。fitTypeName,Valuefitoptions

    [fitobject,gof] = fit(x,y,fitType)返回结构中的适合度统计gof

    [fitobject,gof,output] = fit(x,y,fitType)返回结构中的拟合算法信息output

    例子

    全部收缩

    拟合二次曲线

    在MATLAB中试用

    加载一些数据,适合于变量二次曲线cdatepop,并绘制拟合和数据。

    load census;
    f = fit(cdate,pop,'poly2')
    f = 
         线性模型 Poly2:
         f(x)= p1 * x ^ 2 + p2 * x + p3
         系数(95%置信区间):
           p1 = 0.006541(0.006124,0.006958)
           p2 = -23.51(-25.09,-21.93)
           p3 = 2.113e + 04(1.964e + 04,2.226e + 04)
    
    plot(F,cdate,pop)

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

    拟合多项式曲面

    在MATLAB中试用

    加载一些数据并拟合 2 x度和3 度的多项式曲面y。绘制适合度和数据。

    load franke 
    sf = fit([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.1552e-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)
    
    plot(sf,[X,Y,Z)

    在MATLAB表中使用变量拟合曲面

    在MATLAB中试用

    加载franke数据并将其转换为MATLAB®表格。

    load franke 
    T = table(x,y,z);

    将表中的变量指定为函数的输入,并绘制拟合。fit

    f = fit([Tx,Ty],Tz,'linearinterp');
    plot(f,[Tx,Ty],Tz)

    在拟合之前创建适合选项和适合类型

    在MATLAB中试用

    加载和绘制数据,使用和函数创建拟合选项和拟合类型,然后创建并绘制拟合。fittypefitoptions

    加载并绘制数据census.mat

    load census
    plot(cdate,pop,'o')
    

    为自定义非线性模型创建拟合选项对象和拟合类型,其中a和b是系数,n是与问题相关的参数。

    fo = fitoptions('Method','NonlinearLeastSquares',... 
                   'Lower',[0,0],... 
                   'Upper',[Inf,max(cdate)],... 
                   'StartPoint',[1 1]);
    ft = fittype('a *(xb)^ n','problem','n','options',fo);
    

    使用拟合选项和n = 2 的值来拟合数据。

    [curve2,gof2] = fit(cdate,pop,ft,'问题',2)
    
    curve2 = 
    
         一般模型:
         curve2(x)= a *(xb)^ n
         系数(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 的值来拟合数据。

    [curve3,gof3] = fit(cdate,pop,ft,'problem',3)
    
    curve3 = 
    
         一般模型:
         curve3(x)= a *(xb)^ n
         系数(95%置信区间):
           a = 1.359e-05(1.245e-05,1.474e-05)
           b = 1725(1718,1731)
         问题参数:
           n = 3
    
    gof3 = 
    
      结构与字段:
    
               sse:232.0058
           rsquare:0.9981
               dfe:19
        adjrsquare:0.9980
              rmse:3.4944
    
    

    用数据绘制拟合结果。

    hold on 
    plot(curve2,'M' )
    plot(curve3,'c')
    legend('Data','n = 2','n = 3')
    hold off

    拟合指定标准化和可靠选项的立方多项式

    在MATLAB中试用

    加载一些数据,并配合和策划了三次多项式具有中心和规模(Normalize)和强大的安装选项。

    load census ;
    f = fit(cdate,pop,'poly3','Normalize','on','Robust','Bisquare')
    f = 
         线性模型Poly3:
         f(x)= p1 * x ^ 3 + p2 * x ^ 2 + p3 * x + p4
           其中x由均值1890和标准差62.05归一化
         系数(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)
    
    plot(f,cdate,pop)

    拟合由文件定义的曲线

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

    定义在MATLAB的功能®文件。

    function y = piecewiseLine(x,a,b,c,d,k)
     %PIECEWISELINE由两段不连续的线组成的线。
    
    y =zeros(size(x));
    
    %这个例子纯粹出于例子的目的而包含了for-loop和if语句。
    for i = 1:length(x)
         if x(i)<k,
            y(i)= a + b。* x(i);
        else
            y(i)= c + d。* x(i);
        end
    end
    end

    保存文件。

    定义了一些数据,创建一个适合类型指定功能piecewiseLine,创建一个配合使用的配合型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];
    ft = fittype('piecewiseLine(x,a,b,c,d,k)')
    f = fit(x,y,ft,'StartPoint',[ 1,0,1,0,0.5 ])
    plot(f,x,y) 

    从适合度中排除积分

    在MATLAB中试用

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

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

    [x,y] =titanium;
    
    gaussEqn = 'a * exp( - ((xb)/ c)^ 2)+ d'
    gaussEqn = 
    'A * EXP( - ((XB)/ C)^ 2)+ d'
    
    startPoints = [1.5 900 10 0.6]
    startPoints = 1×4
    
        1.5000 900.0000 10.0000 0.6000
    
    

    使用自定义公式和起点创建两个拟合,并使用索引向量和表达式定义两组不同的排除点。用于Exclude从您的合体中删除异常值。

    f1 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',[1 10 25])
    f1 = 
         一般型号:
         f1(x)= a * exp( - ((xb)/ c)^ 2)+ d
         系数(95%置信区间):
           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,'Start',startPoints,'Exclude',x <800)
    f2 = 
         一般型号:
         f2(x)= a * exp( - ((xb)/ c)^ 2)+ d
         系数(95%置信区间):
           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.66764)
    

    绘制两个适合。

    plot(f1,X,Y)
    title(' 符合排除的数据点1,10和25')

    figure
    plot(f2,X,Y)
    title(“ 拟合的数据点中排除,使得x <800”)

    排除点和绘制适合显示排除的数据

    在MATLAB中试用

    您可以将排除的点定义为变量,然后将它们作为输入提供给拟合函数。以下步骤重新创建前面示例中的拟合,并允许您绘制排除点以及数据和拟合。

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

    [x,y] =titanium;
    
    gaussEqn = 'a * exp( - ((xb)/ c)^ 2)+ d'
    gaussEqn = 
    'A * EXP( - ((XB)/ C)^ 2)+ d'
    
    startPoints = [1.5 900 10 0.6]
    startPoints = 1×4
    
        1.5000 900.0000 10.0000 0.6000
    
    

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

    exclude1 = [1 10 25];
    exclude2 = x <800;

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

    f1 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',exclude1);
    f2 = fit(x',y',gaussEqn,'Start',startPoints,'Exclude',exclude2);

    绘图都适合并突出显示排除的数据。

    plot(f1,X,Y,exclude1)
    title(' 符合排除的数据点1,10和25')

    figure; 
    plot(f2,X,Y,exclude2)
    title(“ 拟合的数据点中排除,使得x <800”)

    对于排除点的曲面拟合示例,加载一些曲面数据并创建和绘制指定排除数据的拟合。

    load franke 
    f1 = fit([xy],z,'poly23','Exclude',[1 10 25]);
    f2 = fit([xy],z,'poly23','Exclude',z> 1);
    
    figure
    plot(f1,[xy],z,'Exclude',[1 10 25]);
    title(' 符合排除的数据点1,10和25')

    figure
    plot(f2,[xy],z,'Exclude',z> 1);
    title(“ 拟合的数据点中排除,使得Z> 1”)

    拟合平滑样条曲线并返回适合度信息

    在MATLAB中试用

    加载一些数据,并适合通过变量平滑样条曲线monthpressure,并返回优度拟合信息和输出结构。绘制数据的拟合和残差。

    load enso ;
    [curve,goodness,output] = fit(month,pressure,'smoothingspline');
    plot(curve,month,pressure);
    xlabel('月');
    ylabel('压力');

    根据x-data(month)绘制残差。

    plot(curve,month,pressure,'residuals')
    xlabel('月')
    ylabel('残余')

    使用output结构中的数据将残差与y数据(pressure)进行比较。

    plot(pressure,output.residuals,'.')
    xlabel('压力')
    ylabel('残余')

    拟合单项指数

    在MATLAB中试用

    以指数趋势生成数据,然后使用指数模型的曲线拟合库(单项指数)中的第一个公式拟合数据。绘制结果。

    x =(0:0.2:5)';
    y = 2 * exp(-0.2 * x)+ 0.5 * randn(size(x));
    f = fit(x,y,'exp1');
    plot(f,X,Y)

    使用匿名函数拟合自定义模型

    您可以使用匿名函数来更轻松地将其他数据传递到函数中。fit

    在定义匿名函数之前加载数据并设置Emax1

    data = importdata('OpioidHypnoticSynergy.txt');
    Propofol = data.data(:,1);
    Remifentanil = data.data(:,2);
    Algometry = data.data(:,3);
    Emax = 1;

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

    Effect= @(IC50A,IC50B,α,n,x,y)... 
        Emax *(x / IC50A + y / IC50B +α*(x / IC50A)...。 
        *(y / IC50B))。 ((x / IC50A + y / IC50B + ... 
        α*(x / IC50A)*(y / IC50B))。^ n + 1);

    使用匿名函数Effect作为函数的输入,并绘制结果:fit

    AlgometryEffect = fit([Propofol,Remifentanil],Algometry,Effect,... 
        'StartPoint ',[2,10,1,0.8 ],... 
        'Lower',[-Inf,-Inf,-5,-Inf ],... 
        'Robust','LAR')
    plot(AlgometryEffect,[Propofol,Remifentani],Algometry)

    有关使用匿名函数和其他自定义模型进行拟合的更多示例,请参阅该fittype函数。

    查找系数顺序以设置起点和界限

    在MATLAB中试用

    对于属性UpperLowerStartPoint,您需要查找系数条目的顺序。

    创建一个合适的类型。

    ft = fittype('b * x ^ 2 + c * x + a');

    使用该coeffnames函数获取系数名称和顺序。

    coeffnames(ft)
    ans = 3x1单元阵列
        {'a'}
        {'b'}
        {'c'}
    
    

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

    加载数据,创建一个拟合并设置起点。

    load enso
    fit(month,pressure,ft,'StartPoint',[1,3,5])
    ans = 
         一般模型:
         ans(x)= b * x ^ 2 + c * x + a
         系数(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 = 3c = 5

    或者,您可以得到拟合选项并设置起点和下限,然后使用新选项进行重新整理。

    options = fitoptions(ft)
    选项=
    
            标准化:'关闭'
              排除:[]
              重量:[]
               方法:'NonlinearLeastSquares'
               鲁棒:'关闭'
           StartPoint:[1x0双倍]
                下:[1x0双]
                上:[1x0双]
            算法:'Trust-Region'
        DiffMinChange:1.0000e-08
        DiffMaxChange:0.1000
              显示:'通知'
          MaxFunEvals:600
              最大:400
               TolFun:1.0000e-06
                 TolX:1.0000e-06
    
    options =
    
            Normalize: 'off'
              Exclude: []
              Weights: []
               Method: 'NonlinearLeastSquares'
               Robust: 'Off'
           StartPoint: [1x0 double]
                Lower: [1x0 double]
                Upper: [1x0 double]
            Algorithm: 'Trust-Region'
        DiffMinChange: 1.0000e-08
        DiffMaxChange: 0.1000
              Display: 'Notify'
          MaxFunEvals: 600
              MaxIter: 400
               TolFun: 1.0000e-06
                 TolX: 1.0000e-06
    options.StartPoint = [10 1 3];
    options.Lower = [0 -Inf 0];
    fit(month,pressure,ft,options)
    ans = 
         一般模型:
         ans(x)= b * x ^ 2 + c * x + a
         系数(95%置信区间):
           a = 10.23(9.448,11.01)
           b = 4.335e-05(-1.82e-05,0.0001049)
           c = 5.523e-12(固定在约束)
    

    输入参数

    全部收缩

    x- 适合矩阵的数据

    拟合的数据,用一个(曲线拟合)或两个(曲面拟合)列指定为矩阵。您可以使用在MATLAB表中指定变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

    例: x

    例: [x,y]

    数据类型: double

    y- 适合矢量的数据

    适合的数据,指定为具有相同行数的列向量x。你可以使用一个MATLAB表格来指定一个变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

    使用prepareCurveDataprepareSurfaceData如果您的数据不是列向量形式。

    数据类型: double

    z- 适合矢量的数据

    适合的数据,指定为具有相同行数的列向量x。你可以使用一个MATLAB表格来指定一个变量tablename.varname。不能包含InfNaN。只有复杂数据的实际部分才适合使用。

    使用prepareSurfaceData如果您的数据是不是在列向量形式。例如,如果您有3个矩阵,或者如果您的数据处于网格向量形式,其中length(X) = n, length(Y) = msize(Z) = [m,n]

    数据类型: double

    fitType- 适合字符向量 |的模型类型 字符向量的单元阵列 | 匿名函数 |
    fittype

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

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

    库模型名称

    描述

    'poly1'

    线性多项式曲线

    'poly11'

    线性多项式曲面

    'poly2'

    二次多项式曲线

    'linearinterp'

    分段线性插值

    'cubicinterp'

    分段三次插值

    'smoothingspline'

    平滑样条曲线(曲线)

    'lowess'

    局部线性回归(表面)

     

    到适合的自定义模型,使用MATLAB表达,线性模型项的单元阵列,一个匿名函数,或者创建一个fittype与该fittype功能并使用这个作为fitType参数。有关示例,请参阅使用匿名函数拟合自定义模型。有关线性模型术语的示例,请参阅该函数。fitType

    例如: 'poly2'

    fitOptions- 算法选项
    fitoptions

    使用该fitoptions函数构造的算法选项。这是指定适合选项的名称/值对参数的替代方法。

    名称 - 值对参数

    指定可选的逗号分隔Name,Value参数对。Name是参数名称并且Value是相应的值。 Name必须出现在单引号(' ')内。您可以按任意顺序指定多个名称和值对参数 Name1,Value1,...,NameN,ValueN

    示例:'Lower',[0,0],'Upper',[Inf,max(x)],'StartPoint',[1 1]指定拟合方法,边界和起点。

    所有拟合方法的选项

    全部收缩

    'Normalize'- 选择集中和缩放数据
    'off'(默认)|'on'

    选项居中和缩放数据,指定为逗号分隔的一对组成的'Normalize''on''off'

    数据类型: char

    'Exclude'- 从拟合表达式中排除的点索引向量 | 逻辑向量 | 

    从fit中排除的点,指定为逗号分隔对由以下'Exclude'之一组成:

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

    • 一个整数向量,用于索引要排除的点,例如[1 10 25]

    • 所有数据点的逻辑向量,true表示异常值,由...创建excludedata

    有关示例,请参阅从拟合中排除点

    数据类型:logical |double

    'Weights'- 重量适合
    [](默认)| 向量

    适合的权重,指定为由逗号分隔的对'Weights'和与响应数据y(曲线)或z(曲面)大小相同的矢量。

    数据类型: double

    'problem'- 要分配给问题相关常量的值
    单元格数组 | | 双

    要分配给问题相关常量的值,指定为由逗号分隔的对'problem'和单元阵列,每个问题有一个元素相关常量。有关详情,请参阅fittype

    数据类型:cell |double

    平滑选项

    全部收缩

    'SmoothingParam'在范围(0,1)中平滑参数
    标量值

    平滑参数,指定为由'SmoothingParam'0和1之间的逗号分隔对组成的标量值。默认值取决于数据集。只有适合的类型是可用的smoothingspline

    数据类型: double

    'Span'- 在局部回归中使用的数据点的比例
    0.25(默认)| 标量值在范围(0,1)

    在局部回归中使用的数据点的比例,指定为由逗号分隔的一对'Span'和由0到1之间的标量值指定的值。只有在拟合类型为lowess或时才可用loess

    数据类型: double

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

    全部收缩

    'Robust'- 鲁棒线性最小二乘拟合方法
    'off'(默认)| LAR|Bisquare

    稳健的线性最小二乘拟合方法,指定为由'Robust'以下值之一组成的逗号分隔对:

    • 'LAR' 指定最小绝对剩余方法。

    • 'Bisquare' 指定bisquare权重方法。

    适合类型MethodLinearLeastSquares或 时可用NonlinearLeastSquares

    数据类型: char

    'Lower'- 拟合系数的下限
    [](默认)| 向量

    拟合系数的下限,指定为逗号分隔对'Lower'和矢量。默认值是一个空向量,表示 拟合不受下限限制。如果指定了边界,则矢量长度必须等于系数的数量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限。单独的无约束下界可以通过-Inf

    MethodLinearLeastSquares或时可用NonlinearLeastSquares

    数据类型: double

    'Upper'- 拟合系数的上界
    [](默认)| 向量

    拟合系数的上限,指定为由逗号分隔的对'Upper'和一个向量。默认值是一个空向量,表示 拟合不受上限约束。如果指定了边界,则矢量长度必须等于系数的数量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限。个别无约束的上限可以通过+Inf

    MethodLinearLeastSquares或时可用NonlinearLeastSquares

    数据类型: logical

    非线性最小二乘选项

    全部收缩

    'StartPoint'- 系数的初始值
    [](默认值)| 向量

    系数的初始值,指定为由逗号分隔的对'StartPoint'和向量。使用该coeffnames函数查找矢量值中系数的条目顺序。有关示例,请参阅查找系数顺序以设置起点和界限

    如果没有开始点(空向量的默认值)传递给函数,则启发式地确定某些库模型的起点。对于有理和威布尔模型以及所有自定义非线性模型,工具箱从区间(0,1)中随机地均匀选择系数的默认初始值。因此,使用相同数据和模型的多重拟合可能导致不同的拟合系数。为了避免这种情况,请为该值指定对象或矢量值的系数的初始值。fitfitoptionsStartPoint

    可当MethodNonlinearLeastSquares

    数据类型: double

    'Algorithm'- 用于拟合程序
    'Trust-Region'(默认)|的算法 “文伯格-马夸特”

    用于拟合程序的算法,指定为由以及'Algorithm''Levenberg-Marquardt'或组成的逗号分隔对'Trust-Region'

    可当MethodNonlinearLeastSquares

    数据类型: char

    'DiffMaxChange'- 有限差分梯度的最大系数变化
    0.1(默认)

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

    可当MethodNonlinearLeastSquares

    数据类型: double

    'DiffMinChange'- 有限差分梯度系数的最小变化
    10 -8(默认)

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

    可当MethodNonlinearLeastSquares

    数据类型: double

    'Display'- 在命令窗口中显示选项
    'notify'(默认)| 'final''iter'|'off'

    在命令窗口中显示选项,指定为由'Display'以下选项之一组成的逗号分隔对:

    • 'notify'仅在拟合不收敛时显示输出。

    • 'final' 只显示最终输出。

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

    • 'off' 不显示输出。

     

    可当MethodNonlinearLeastSquares

    数据类型: char

    'MaxFunEvals'- 允许模型的最大评估数量
    600(默认)

    允许模型的最大评估数,指定为逗号分隔对'MaxFunEvals'和标量。

    可当MethodNonlinearLeastSquares

    数据类型: double

    'MaxIter'- 适合允许的最大迭代次数 
    400(默认)

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

    可当MethodNonlinearLeastSquares

    数据类型: double

    'TolFun'- 型号值10 -6的终端容差(默认)

    模型值的终止容差,指定为由逗号分隔的对'TolFun'和标量组成的逗号。

    可当MethodNonlinearLeastSquares

    数据类型: double

    'TolX'- 系数值的终端容差
    10 -6(默认)

    系数值的终止容差,指定为由逗号分隔的对'TolX'和标量组成的逗号。

    可当MethodNonlinearLeastSquares

    数据类型: double

    输出参数

    全部收缩

    fitobject- 拟合结果
    cfit|sfit

    拟合结果,返回为cfit(对于曲线)或sfit(对于曲面)对象。请参阅拟合后处理以查看绘图,评估,计算置信区间,整合,区分或修改拟合对象的功能。

    gof- 适合度的统计
    gof结构|

    善-OF- 适合的统计,返回的gof结构,包括在此表中的字段。

    领域

    sse

    由于错误导致的平方和

    rsquare

    R平方(确定系数)

    dfe

    错误的自由度

    adjrsquare

    自由度调整的决定系数

    rmse

    均方根误差(标准误差)

    output- 拟合算法信息
    output结构

    拟合算法信息,作为output包含与拟合算法相关的信息的结构返回。

    字段取决于算法。例如,output非线性最小二乘算法的结构包括此表中显示的字段。

    领域

    numobs

    观察次数(响应值)

    numparam

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

    residuals

    残余矢量

    Jacobian

    雅可比矩阵

    exitflag

    描述算法的退出条件。积极的标志表明在公差范围内收敛。零标志表示已超过功能评估或迭代的最大数量。负标志表示算法没有收敛到解决方案。

    iterations

    迭代次数

    funcCount

    功能评估的数量

    firstorderopt

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

    algorithm

    使用拟合算法

    展开全文
  • matlab中的fit函数实现源码 开始使用Julia REPL的使用 在Julia的REPL下,有多种模式 help模式,按?进入help模式 shell模式,按;进入shell模式 package模式,按]进入package模式 按backspace键返回正常Julia模式 在...
  • [c2,gof2]= fit(t,yield,ftp,'problem',maxx) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%分割线 结果: c2 = General model: c2(t) = b0+b1*[(1-exp(-t/tau))/(t/tau)]+b2*[(1-exp(-t/tau))/(t/tau)-exp(-t/tau)] ...

    本人做数据非线性最小二乘拟合,但是在做的过程中需要将拟合后的参数导出,或者叫传递,如下:

    yield = xlsread('20141118.xls','20100412','K4:K21');t = xlsread('20141118.xls','20100412','E4:E21');

    wdur=xlsread('20141118.xls','20100412','P4:P20');

    plot(t,yield,'o')

    hold on

    dimlen=length(t);%矩阵的长度

    fo = fitoptions('Method','NonLinearLeastSquares',...

    'Lower',[0,-Inf,-Inf],...

    'Upper',[Inf,Inf,Inf], 'StartPoint',[0 -1 -1]);%[0.045477 -0.02454 0.000149]

    ftp = fittype ('b0+b1*[(1-exp(-t/tau))/(t/tau)]+b2*[(1-exp(-t/tau))/(t/tau)-exp(-t/tau)]',...

    'dependent','yield','independent','t','coefficients',{'b0','b1','b2'},'problem','tau','options',fo);

    [c2,gof2]= fit(t,yield,ftp,'problem',maxx)

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%分割线

    结果:

    c2 =

    General model:

    c2(t) = b0+b1*[(1-exp(-t/tau))/(t/tau)]+b2*[(1-exp(-t/tau))/(t/tau)-exp(-t/tau)]

    Coefficients (with 95% confidence bounds):

    b0 =     0.04371  (0.03894, 0.04848)

    b1 =    -0.03201  (-0.03732, -0.0267)

    b2 =    -0.02855  (-0.04535, -0.01175)

    Problem parameters:

    tau =         1.1

    gof2 =

    sse: 1.1407e-04

    rsquare: 0.9209

    dfe: 15

    adjrsquare: 0.9103

    rmse: 0.0028

    想问:[c2,gof2]= fit(t,yield,ftp,'problem',maxx)中c2的参数(这里是b0,b1,b2)怎么才能访问、引用,例如让m=c2.coefficients.b0,因为需要参数的计算,希望大神能帮助解答一下,谢谢!!!

    展开全文
  • matlab中的fit函数实现源码 说明文档 [toc] ++++++++++++++ 实验结果 客观对比: 表1 各算法在NYU2室内合成数据集上随机抽取的200幅图像上的SSIM、PSNR平均指标值对比 Metrics hazy ATM BCCR FVR NLD Proposed SSIM ...
  • 请教问题:我准备自定义拟合函数进行拟合,具体代码如下。但是每次运行后出现的结果都不一样,是代码哪里写的不好造成的,还是因为没有定义拟合系数的上下限啊?%% 自定义拟合函数% Exponential-Gaussian-Cauchy ...

    请教问题:我准备自定义拟合函数进行拟合,具体代码如下。但是每次运行后出现的结果都不一样,是代码哪里写的不好造成的,还是因为没有定义拟合系数的上下限啊?

    %

    % 自定义拟合函数

    % Exponential-Gaussian-Cauchy Fitting

    % func = a1*exp(-b1*x)+c1+a2*exp(-((x-b2)/c2)^2)+a3/pi*(1.0/(((x-b3*a3))^2+1.0))

    % 拟合200 MeV sigma=1 mm质子束在水模体中轴向深度为25 cm处的横向剂量分布

    %

    % Data

    depth = [0.005  0.015  0.025  0.035  0.045  0.055  0.065  0.075  0.085  0.095  0.105  0.115  0.125  0.135  0.145  0.155  0.165  0.175  0.185  0.195  0.205  0.215  0.225  0.235  0.245  0.255  0.265  0.275  0.285  0.295  0.305  0.315  0.325  0.335  0.345  0.355  0.365  0.375  0.385  0.395  0.405  0.415  0.425  0.435  0.445  0.455  0.465  0.475  0.485  0.495  0.505  0.515  0.525  0.535  0.545  0.555  0.565  0.575  0.585  0.595  0.605  0.615  0.625  0.635  0.645  0.655  0.665  0.675  0.685  0.695  0.705  0.715  0.725  0.735  0.745  0.755  0.765  0.775  0.785  0.795  0.805  0.815  0.825  0.835  0.845  0.855  0.865  0.875  0.885  0.895  0.905  0.915  0.925  0.935  0.945  0.955  0.965  0.975  0.985  0.995  1.005  1.015  1.025  1.035  1.045  1.055  1.065  1.075  1.085  1.095  1.105  1.115  1.125  1.135  1.145  1.155  1.165  1.175  1.185  1.195  1.205  1.215  1.225  1.235  1.245  1.255  1.265  1.275  1.285  1.295  1.305  1.315  1.325  1.335  1.345  1.355  1.365  1.375  1.385  1.395  1.405  1.415  1.425  1.435  1.445  1.455  1.465  1.475  1.485  1.495  1.505  1.515  1.525  1.535  1.545  1.555  1.565  1.575  1.585  1.595  1.605  1.615  1.625  1.635  1.645  1.655  1.665  1.675  1.685  1.695  1.705  1.715  1.725  1.735  1.745  1.755  1.765  1.775  1.785  1.795  1.805  1.815  1.825  1.835  1.845  1.855  1.865  1.875  1.885  1.895  1.905  1.915  1.925  1.935  1.945  1.955  1.965  1.975  1.985  1.995  2.005  2.015  2.025  2.035  2.045  2.055  2.065  2.075  2.085  2.095  2.105  2.115  2.125  2.135  2.145  2.155  2.165  2.175  2.185  2.195  2.205  2.215  2.225  2.235  2.245  2.255  2.265  2.275  2.285  2.295  2.305  2.315  2.325  2.335  2.345  2.355  2.365  2.375  2.385  2.395  2.405  2.415  2.425  2.435  2.445  2.455  2.465  2.475  2.485  2.495  2.505  2.515  2.525  2.535  2.545  2.555  2.565  2.575  2.585  2.595  2.605  2.615  2.625  2.635  2.645  2.655  2.665  2.675  2.685  2.695  2.705  2.715  2.725  2.735  2.745  2.755  2.765  2.775  2.785  2.795  2.805  2.815  2.825  2.835  2.845  2.855  2.865  2.875  2.885  2.895  2.905  2.915  2.925  2.935  2.945  2.955  2.965  2.975  2.985  2.995  3.005  3.015  3.025  3.035  3.045  3.055  3.065  3.075  3.085  3.095  3.105  3.115  3.125  3.135  3.145  3.155  3.165  3.175  3.185  3.195  3.205  3.215  3.225  3.235  3.245  3.255  3.265  3.275  3.285  3.295  3.305  3.315  3.325  3.335  3.345  3.355  3.365  3.375  3.385  3.395  3.405  3.415  3.425  3.435  3.445  3.455  3.465  3.475  3.485  3.495  3.505  3.515  3.525  3.535  3.545  3.555  3.565  3.575  3.585  3.595  3.605  3.615  3.625  3.635  3.645  3.655  3.665  3.675  3.685  3.695  3.705  3.715  3.725  3.735  3.745  3.755  3.765  3.775  3.785  3.795  3.805  3.815  3.825  3.835  3.845  3.855  3.865  3.875  3.885  3.895  3.905  3.915  3.925  3.935  3.945  3.955  3.965  3.975  3.985  3.995  4.005  4.015  4.025  4.035  4.045  4.055  4.065  4.075  4.085  4.095  4.105  4.115  4.125  4.135  4.145  4.155  4.165  4.175  4.185  4.195  4.205  4.215  4.225  4.235  4.245  4.255  4.265  4.275  4.285  4.295  4.305  4.315  4.325  4.335  4.345  4.355  4.365  4.375  4.385  4.395  4.405  4.415  4.425  4.435  4.445  4.455  4.465  4.475  4.485  4.495  4.505  4.515  4.525  4.535  4.545  4.555  4.565  4.575  4.585  4.595  4.605  4.615  4.625  4.635  4.645  4.655  4.665  4.675  4.685  4.695  4.705  4.715  4.725  4.735  4.745  4.755  4.765  4.775  4.785  4.795  4.805  4.815  4.825  4.835  4.845  4.855  4.865  4.875  4.885  4.895  4.905  4.915  4.925  4.935  4.945  4.955  4.965  4.975  4.985  4.995  5.005  5.015  5.025  5.035  5.045  5.055  5.065  5.075  5.085  5.095  5.105  5.115  5.125  5.135  5.145  5.155  5.165  5.175  5.185  5.195  5.205  5.215  5.225  5.235  5.245  5.255  5.265  5.275  5.285  5.295  5.305  5.315  5.325  5.335  5.345  5.355  5.365  5.375  5.385  5.395  5.405  5.415  5.425  5.435  5.445  5.455  5.465  5.475  5.485  5.495  5.505  5.515  5.525  5.535  5.545  5.555  5.565  5.575  5.585  5.595  5.605  5.615  5.625  5.635  5.645  5.655  5.665  5.675  5.685  5.695  5.705  5.715  5.725  5.735  5.745  5.755  5.765  5.775  5.785  5.795  5.805  5.815  5.825  5.835  5.845  5.855  5.865  5.875  5.885  5.895  5.905  5.915  5.925  5.935  5.945  5.955  5.965  5.975  5.985  5.995];

    TOPAS = [7.009081633 7.092198765 7.097475716 7.087366218 7.082138663 7.047423624 7.047525744 7.02027364 6.98126536 6.991398704 6.976290908 6.909728051 6.887859093 6.855138582 6.810033452 6.765498928 6.745618329 6.678195458 6.66466014 6.624636397 6.567004724 6.506655306 6.475570239 6.403191418 6.350394684 6.287478047 6.209840142 6.166894451 6.103153463 6.023850071 5.965638415 5.889591105 5.816301429 5.764917472 5.683829312 5.607490948 5.539397453 5.456217789 5.391736222 5.304705598 5.243674046 5.148892313 5.075482825 4.988456987 4.921947705 4.837924039 4.755348991 4.675192836 4.600750803 4.51579352 4.43076003 4.343472482 4.277050084 4.187063751 4.109626091 4.017857259 3.951263108 3.870218621 3.794134921 3.701438673 3.626625616 3.554986141 3.476032047 3.39993055 3.314787779 3.24860739 3.174504309 3.100942066 3.027954935 2.958703972 2.885579677 2.806053238 2.738670675 2.674375078 2.606732309 2.54006987 2.472104484 2.409578767 2.344633381 2.284322393 2.22530485 2.161993907 2.104462842 2.045754345 1.991122329 1.930263772 1.877722682 1.828126821 1.773584226 1.72290819 1.672209163 1.6252063 1.577931135 1.530487114 1.48405404 1.438188492 1.395316073 1.354945965 1.315447129 1.273888929 1.233286174 1.191310441 1.155584206 1.122653722 1.084159943 1.051998233 1.02042089 0.988662695 0.957138864 0.929906657 0.897760187 0.86823168 0.840949646 0.811682119 0.785675286 0.763002483 0.734362953 0.713648691 0.690952485 0.668616316 0.646963683 0.624864007 0.605085672 0.586748815 0.56564413 0.547673363 0.530837004 0.514198718 0.498253316 0.481335299 0.463940603 0.450114647 0.435070181 0.422782889 0.41257419 0.398540683 0.385342368 0.374722759 0.362156227 0.351214241 0.341453105 0.330948308 0.319429222 0.310232799 0.300086746 0.291193426 0.285174745 0.274602929 0.268002087 0.258641386 0.253889782 0.245248751 0.238171432 0.231278162 0.225694642 0.218131529 0.212028054 0.20755686 0.20209493 0.196343604 0.192304755 0.186915392 0.182593003 0.178140146 0.172777924 0.16912117 0.164865324 0.161003397 0.157418873 0.153818812 0.149947875 0.145742079 0.142678652 0.139789855 0.136475795 0.133214544 0.130059296 0.128102975 0.125454629 0.121649984 0.120448456 0.117933614 0.116877841 0.112358359 0.111324969 0.110632108 0.106662924 0.104854367 0.103026477 0.101171426 0.099514148 0.098281725 0.095903712 0.093440194 0.091942042 0.091027714 0.090113386 0.088095834 0.085752612 0.084335582 0.083567717 0.082269988 0.080636706 0.079184881 0.078294238 0.077439171 0.075265701 0.074205406 0.073288692 0.072983115 0.071037663 0.070751682 0.068973649 0.068060764 0.067081337 0.066464255 0.065792004 0.064339066 0.063504551 0.062372165 0.061795445 0.060937249 0.060725719 0.059161973 0.058590666 0.057403017 0.057217474 0.05598617 0.05506116 0.054891532 0.054094122 0.053883909 0.053309986 0.052675147 0.051493649 0.051189284 0.049999805 0.049076944 0.048671063 0.047945137 0.04795403 0.047696098 0.046693794 0.046145192 0.046299239 0.044993718 0.044711129 0.04379585 0.043400983 0.043225185 0.04238457 0.042174847 0.04144469 0.041047514 0.040383323 0.03986637 0.040006375 0.039435158 0.038320698 0.038360047 0.037739815 0.037432255 0.037126644 0.036265604 0.036257122 0.035458084 0.035530271 0.035453489 0.034743773 0.034484769 0.033772995 0.033647182 0.032917106 0.032954936 0.032387666 0.032387845 0.031753883 0.031451138 0.031265251 0.030852169 0.030589587 0.030504238 0.029807708 0.029600043 0.029255919 0.028885608 0.028415588 0.028559546 0.02792329 0.027719555 0.027219745 0.027262872 0.027252485 0.027218666 0.026501936 0.025987379 0.025904925 0.025904943 0.025280611 0.024876526 0.024833338 0.024107269 0.02433327 0.024012968 0.023731452 0.023586802 0.023532094 0.023095087 0.022541121 0.02230978 0.022387706 0.022276103 0.022041828 0.021345359 0.021396741 0.021132155 0.021388075 0.020904403 0.02036188 0.020438655 0.020048736 0.020118414 0.020103555 0.019645404 0.019195627 0.01922955 0.019159553 0.018688643 0.019131021 0.018550139 0.018152133 0.018181202 0.018207914 0.017801489 0.017726672 0.017531059 0.017283038 0.017223178 0.016806169 0.01669271 0.016715739 0.016491675 0.016236682 0.01620918 0.015959572 0.015810158 0.01559511 0.015413497 0.015252362 0.015291049 0.015276147 0.01488471 0.015139644 0.014752918 0.01451297 0.014289186 0.014348215 0.014107375 0.01408582 0.013906231 0.013670528 0.013603902 0.013406559 0.0134179 0.013219068 0.012692382 0.012673218 0.012992297 0.01275278 0.012404701 0.012415453 0.012261858 0.012094629 0.012117744 0.012161946 0.011880543 0.011933018 0.011888329 0.01168524 0.011298558 0.011103832 0.011311312 0.011401214 0.010921365 0.010882195 0.010525911 0.010386485 0.010309401 0.010407276 0.010397346 0.010173134 0.010054172 0.010182644 0.009993148 0.009906965 0.009718743 0.009689295 0.009511793 0.009349796 0.009463225 0.009239227 0.00917328 0.009054012 0.009049696 0.008805537 0.008788485 0.008662547 0.008516731 0.008512702 0.00831757 0.008331732 0.008348728 0.008188874 0.008219535 0.00792474 0.007864597 0.00807916 0.007701751 0.007785014 0.007592916 0.007484259 0.00747035 0.007547966 0.007261161 0.007442558 0.0072301 0.007219227 0.007064971 0.006959828 0.006945127 0.006818922 0.006872251 0.007051429 0.006825638 0.00659829 0.006586617 0.00653993 0.006478833 0.006533989 0.006368743 0.006233452 0.006175043 0.006039552 0.00600168 0.00607953 0.006041142 0.005758828 0.005726502 0.005826341 0.005982926 0.005681463 0.005519176 0.005506239 0.005452947 0.005495566 0.005320236 0.005422197 0.005410826 0.005308867 0.005112102 0.00522491 0.005082392 0.005230277 0.005061341 0.004894289 0.004671299 0.004917811 0.004684031 0.004773933 0.00466251 0.004737524 0.004588591 0.004569979 0.004664923 0.004540808 0.004421533 0.004479679 0.004435331 0.004360649 0.0042118 0.004266393 0.004171297 0.00404454 0.004038705 0.004105414 0.003978515 0.003955225 0.003987084 0.003929352 0.00378323 0.003847603 0.003722811 0.003638443 0.003610786 0.003722614 0.003590168 0.003610301 0.003389243 0.003520255 0.003627082 0.003455013 0.003361603 0.00335523 0.003339522 0.00334289 0.003345988 0.003263328 0.003173399 0.003149462 0.003137204 0.003063689 0.002989298 0.003075369 0.003023254 0.002987104 0.002921215 0.002976676 0.002884324 0.00290395 0.002795667 0.002816978 0.002766363 0.002772048 0.002641612 0.00262708 0.002577391 0.002620534 0.002582105 0.002568719 0.002566572 0.002543056 0.002484913 0.002461709 0.002310063 0.00241806 0.002295949 0.002306224 0.002396178 0.002316052 0.002264432 0.002192391 0.002163046 0.002215099 0.00221003 0.002168604 0.002067156 0.002062409 0.002026811 0.001978397 0.002095303 0.001926356 0.001865813 0.001936895 0.001968681 0.001916815 0.00184417 0.001840843 0.001807409 0.001813751 0.00185158 0.001765477 0.001845578 0.001695557 0.001734301 0.001683634 0.00173199 0.001682221 0.001642756 0.001548986 0.001591618 0.001606208 0.00156235 0.001654432 0.001499282 0.001466637 0.001493428 0.001503704 0.001493128 0.001389995 0.001417941 0.001370038 0.001437661 0.001511056 0.001392436 0.001360722 0.001332142 0.001202857 0.001245571 0.001301829 0.001324082 0.001297895 0.001252814 0.001243463 0.001182803 0.001190492 0.001180561 0.001191648 0.001167573 0.001191987 0.00114625];

    % 转换为列向量

    depthRank = depth';

    TOPASRank = TOPAS';

    % 定义拟合函数

    fExponentialGaussianCauchy = fittype('a1*exp(-b1*x)+c1+a2*exp(-((x-b2)/c2)^2)+a3/pi*(1.0/(((x-b3*a3))^2+1.0))', ...

    'independent', {'x'}, 'coefficients', {'a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2'});

    fittingExponentialGaussianCauchy = fit(depthRank, TOPASRank, fExponentialGaussianCauchy);

    coef = coeffvalues(fittingExponentialGaussianCauchy);

    fittingValues = fittingExponentialGaussianCauchy(depthRank);

    fprintf('Exponential-Gaussian-Cauchy Fitting \n');

    % 绘图

    semilogy(depth, TOPAS, 'b', depthRank, fittingValues, 'r');

    legend('TOPAS', 'Exponential-Gaussian-Cauchy Fitting');

    展开全文
  • MATLAB中用fit拟合sin函数时,输出的系数有个errorbar范围。 求问这个系数怎么用代码输出? ![图片说明](https://img-ask.csdn.net/upload/201905/07/1557208578_931259.png) ``` c1=zeros(1,3); z=...
  • MATLAB自定义函数拟合fit

    千次阅读 2020-07-10 10:53:15
    %自定义拟合函数f(t)=a*cos(k*t)*exp(w*t)clc,clearsyms tx=[0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15];%列向量y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0...
  • matlab smooth函数c代码

    2019-04-13 16:09:05
    实测,可用,可以对大量数据进行拟合并输出其拟合之后的数据
  • 这时候就可以应用matlab中的曲线拟合功能进行拟合。 接下来将按曲线拟合的基本步骤(个人习惯,顺序可调)介绍可调函数及注意事项。 1.赋已知点 需要注意的点: 1、已知点必须保存为列向量。 2、列向量要一...
  • 曲面拟合MATLAB代码

    2018-03-02 09:27:33
    曲面拟合MATLAB代码,可实现任意精确度、任意范围的拟合
  • matlab 调用函数老是出错怎么回事??高手请指点一下 function main()for w2=1:1:100 %生成一个区间p1=w2;p2=p1+1;eps=1.0e-4;y=erfen(p1,p2,eps);endendfunction y=erfen(a,b,eps) %二分法 a,b为区间端点,eps为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,547
精华内容 2,218
关键字:

matlab的fit函数

matlab 订阅