程序是没错的,但显然拟合效果很不理想。
y=[35 43 55 47 43 57 26 27 28 29 22 29 19 11 14 23 20 22 13 8 3 27 26 5];
x1=[2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 10 10 10 10 10 10];
x2=[0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1];
x3=[0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75];
a=y/[x1;x2;x3]%这是没有常数的y=a1*x1+a2*x2+a3*x3
b=y/[x1;x2;x3;ones(size(x1))]%这是有常数的y=b1*x1+b2*x2+b3*x3+b4
_________________________________
如果要求置信区间就要用regress函数了
y=[35 43 55 47 43 57 26 27 28 29 22 29 19 11 14 23 20 22 13 8 3 27 26 5];
x1=[2 2 2 2 2 2 5 5 5 5 5 5 7 7 7 7 7 7 10 10 10 10 10 10];
x2=[0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1];
x3=[0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75 0.25 0.50 0.75];
[a,ai]=regress(y',[x1' x2' x3'])%ai就是95%置信区间,这是没有常数的y=a1*x1+a2*x2+a3*x3
[b,bi]=regress(y',[x1' x2' x3' ones(size(x1'))])%这是有常数的y=b1*x1+b2*x2+b3*x3+b4
温馨提示:答案为网友推荐,仅供参考