江湖救急!哪位高手能用Matlab或Mathematica帮我求解一个问题

2024-12-23 07:15:47
推荐回答(3个)
回答1:

用Matlab来求解非常简单:
x=....输入数据,
y=....输入 数据,得两个数组;
P=polyfit(x,y,1)得:B1=20000,B0=--3.9178*10^7,y=B1x+B0;
Y1=polyval(B,x);
误差e=Y1-y , D=std(e);
最小二乘法是使各节点处的偏差p(xi)-yi的平方和达到最小。数学上已经证明,最小二乘逼近问题的解总是确定的。

回答2:

我用matlab二次拟合的程序如下:
x=[2000 2001 2002 2003 2004 2005 2006 2007];
>> y=[138553 143199 151797 174990 203227 224682 246270 265480 ];
polyfit(x,y,2)

运行结果为:
ans =

1.0e+007 *

0.0020 -3.9178
我其他的就不太明白了。
假设一元线性回归模型为:y=β0+β1x+ε,且E(ε)=0,D(ε)=σ2 ,未知参数β0,β1为回归系数,自变量x为回归变量,y=β0+β1x为y对x的回归方程。

我不明白这句话什么意思?
等我再看看。

回答3:

我也用matlab做了点回归分析:
code:
x=[2000 2001 2002 2003 2004 2005 2006 2007];
y=[138553 143199 151797 174990 203227 224682 246270 265480];
plot(x,y,'*'),title('y与x的散点图')
a=ones(8,1);
X=[a,x'];
alpha=0.05;
[b,bint,r,rint,stats]=regress(y',X,alpha)

answer:
b =

1.0e+007 *

-3.9178
0.0020

bint =

1.0e+007 *

-4.5686 -3.2671
0.0016 0.0023

r =

1.0e+004 *

1.3809
-0.1197
-1.2250
-0.8709
-0.0124
0.1680
0.3616
0.3175

rint =

1.0e+004 *

0.4763 2.2854
-2.0803 1.8410
-2.8283 0.3783
-2.7977 1.0559
-2.1619 2.1372
-1.9138 2.2498
-1.5631 2.2864
-1.4091 2.0440

stats =

1.0e+007 *

0.0000 0.0000 0.0000 7.4004

最后y=-39178000+20000x