matlab人口增长线性回归拟合_科学网—matlab线性拟合 - 张瑞龙的博文

Y=kx+b;形式的线性拟合(基于最小二乘法)

方法一:

x=[1,1.5,2,2.5,3]; y=[0.9,1.7,2.2,2.6,3];

p=polyfit(x,y,1);

x1=linspace(min(x),max(x));

y1=polyval(p,x1);

plot(x,y,'*',x1,y1);   %将两个图画到一块

结果:p =    1.0200   0.0400

即y=1.0200 *x+0.0400

所用函数解释:

Polyfit--调用方法:polyfit(x,y,n)。用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。

polyfit 做出来的值从左到右表示从高次到低次的多项式系数,给出系数的个数是n+1。

方法二:

x=[1;1.5;2;2.5;3];y=[0.9;1.7;2.2;2.6;3];

p=fittype('poly1')

f=fit(x,y,p)

plot(f,x,y);

输出结果

p =

Linear model Poly1:

p(p1,p2,x) = p1*x +p2

f =

Linear model Poly1:

f(x) = p1*x + p2

Coefficients (with 95%confidence bounds):

p1 =        1.02 (0.7192, 1.321)

p2 =        0.04 (-0.5981, 0.6781)

转载本文请联系原作者获取授权,同时请注明本文来自张瑞龙科学网博客。

链接地址:http://blog.sciencenet.cn/blog-1019795-820038.html

上一篇:matlab中text函数的用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值