matalb 机器算法学习一元线性回归

例子如下:
欲求y=ax+b
现有数据
X1 Y b
1 3 1
2 5 1
3 7 1
4 9 1
5 11 1
用regress命令
matlab首先读取
x=xlsread(‘xxx.xlsx’,”A1:A5”)
y=xlsread(‘xxx.xlsx’,”B1:B5”)
x1=xlsread(‘xxx.xlsx’,”C1:C5”)
注意:如果读取的是行向量,需要下列步骤
X=[ones(length(y),1),x x1]
如果读取的是列向量
就用
X=[ones(length(y’),1),x x1]
最后
[b,bint,r,rint,stats] = regress(y,X)
得到结果如下
b =
1.0000
2.0000
0
bint =
1.0000 1.0000
2.0000 2.0000
0 0
r =
1.0e-14 *
0
0
-0.0888
-0.1776
-0.1776
rint =
1.0e-14 *
-0.5127 0.5127
-0.6783 0.6783
-0.7617 0.5840
-0.5874 0.2322
-0.1776 -0.1776
stats =
1.0e+31 *
0.0000 1.6902 0.0000 0.0000

其中b(1)= 1.0000 b(2)= 2.0000 即
y=b(1)+b(2)x

猜你喜欢

转载自blog.csdn.net/qq_40168296/article/details/82620121