matlab实现一/多元线性回归

p = [...]';%因变量数据,转置后应为列向量
%ones(size(p))为固定格式,放在第一个。x1,x2,x3为自变量数据,要求几个自变量参数值应该有几个
x1 = [1,2,3]'; %转置后应为列向量
x2 = [1, 2, 3]';
Y = [ones(size(p)),x1,x2]; 
%regress函数实现回归求解,前面加上single比较好(不知道原因),注意顺序先因变量,再自变量
%输出参数结果在b中,所有变量为列向量。
[b,bint,r,rint,stats] = regress(single(p),single(Y));

%可通过r和rint画残差图,格式如下:
%中间截取100样本做残差分析图
reduce_r = ones(100,1);
for i=100:200
  reduce_r(i,:) = r(i,:);
end
reduce_rint = ones(100,2);%注意两列
for i=100:200
  reduce_rint(i,:) = rint(i,:);
end
rcoplot(reduce_r,reduce_rint)

你可能感兴趣的:(matlab,matlab,线性回归,算法)