【问题标题】:matlab curve fitting with sub-polynomialmatlab曲线拟合与子多项式
【发布时间】:2015-02-11 02:15:38
【问题描述】:

我想知道如何拟合三个点 x = ([0.42 0.64 0.96])y = ([4.2 5.1 6.0]) 与 y = k*x^(0.88)?

我试过[p,S,mu] = polyfit(x,y,0.88);,但 MATLAB 说只接受整数幂。谢谢。

编辑:

这个想法是我知道这三个点应该根据一些理论遵循曲线,所以我想绘制它来说服自己。另外,我想做曲线拟合,因为我不知道k 是什么。

【问题讨论】:

    标签: matlab curve-fitting


    【解决方案1】:

    lsqnonlin 呢?

    你可以试试

    model = @(x,k) (k*x.^0.88);
    resVec = @(k) (y(:) - model(x(:),k));
    k_start = 1;
    k_opt = lsqnonlin(resVec,k_start);
    

    【讨论】:

      【解决方案2】:

      如果您可以在模型中添加常量,您可以这样做:

      [p,S,mu] = polyfit(x.^(0.88),y,1);
      

      那么您将得到y 近似为p(2)*x.^(0.88)+p(1)(最小化误差平方和)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-16
        • 2013-05-22
        • 2019-09-05
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2015-03-22
        相关资源
        最近更新 更多