zrl780567443的个人博客分享 http://blog.sciencenet.cn/u/zrl780567443

博文

matlab线性拟合

已有 42657 次阅读 2014-8-16 20:55 |个人分类:matlab|系统分类:科研笔记| MATLAB, polyfit, PolyVal


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)  

 




https://blog.sciencenet.cn/blog-1019795-820038.html

上一篇:matlab中text函数的用法
收藏 IP: 60.207.141.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-2 11:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部