如何 运行 在 MatLab 中进行回归以找出斜率和截距?

How to run a regression in MatLab to find out slope and intercept?

我正在尝试进行回归以找出资本资产定价模型 (CAPM) 方程的斜率和截距:

ER = B*RM + A

ERRM 是两个已知的行向量,大小为 (100x1)

我想模拟 B(斜率)和 A(截距)。两者都应该是标量。

我已经在 Excel 中完成了,但我得到的输出与在 MATLAB 中完全不同。

在 MATLAB 中,我尝试了不同的函数,但没有结果:

B = ER\RM % I get output only B but not A(intercept).
[slope,intercept] = postreg(ER',RM') % I get vector, not a scalar. 
[r,m,b] = regress(RM,ER) %I get vector, not a scalar.

谢谢, 马特

基于MATLAB的Simple linear regression部分,可以计算如下:

X = [ones(size(RM)) RM];
b = X\ER; % solves X*b = ER in least-square sense

A = b(1);
B = b(2);

Matlab 有一个函数:

p = polyfit(RM,ER,1); %p(1) = B, p(2) = A in ER = B*RM + A