matlab如何做线性拟合

如题所述

方法一

1、最常用的是多项式拟合,采用polyfit函数,在命令窗口输入自变量x和因变量y。

2、以二次多项式拟合为例,输入p=polyfit(x,y,2),如果想拟合更高次的多项式,更换括号内数字即可。

方法二

1、在MATLAB自带的曲线拟合工具包上方工具栏选取APPS,点击curve fitting。在上方工具栏选取APPS,点击curve fitting

2、输入自变量x和因变量y。

3、选择拟合方式,有多项式拟合polynomial,高斯拟合gaussian,幂指数拟合power等等,本次以多项式拟合为例。

4、通过数据计算,可以获得曲线参数(曲线函数中的各项系数),从而实现曲线拟合。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-30
第2个回答  推荐于2017-10-08

matlab中线性拟合可以使用多项式拟合函数polyfit()实现,其调用格式为

 P = polyfit(X,Y,N)

其中,X,Y是需要拟合的数据,N是拟合的多项式的最高次数,P是拟合的多项式的系数。

实例演示如下:

1、示例数据

x=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2]

y=[-8,-236,-415,-562,-701,-860,-961,-1082,-1188,-1304,-1405,-1534]

拟合方程:y=a+bx

2、matlab代码

>> x=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2];
>> y=[-8,-236,-415,-562,-701,-860,-961,-1082,-1188,-1304,-1405,-1534];
>> p = polyfit(x,y,1)
>> plot(x,y,'o',x,polyval(p,x))

3、结果及说明

p =

  1.0e+003 *

   -1.3253    0.0068

表示拟合的线性公式为 : y = -1325.3x+6.8

第3个回答  2014-10-23

把x,y数据输入matlab中,然后输入cftool

1 在界面里点data,输入x和y的值

2 点fitting-Newfit-Polynomial-linearpolynomial,然后直接点apply即可!

Linear model Poly1:

       f(x) = p1*x + p2

Coefficients (with 95% confidence bounds):

       p1 =       -1325  (-1429, -1222)

       p2 =       6.788  (-69.34, 82.92)

Goodness of fit:

  SSE: 3.082e+004

  R-square: 0.9879

  Adjusted R-square: 0.9867

  RMSE: 55.51

这是运行结果。

相似回答