美国人口增长模型(指数模型)

x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];n=12;xx=x(1:n);t=[ones(n,1),(1:n)'];%建立n行二列的矩阵t,第二列为1,,...ny=log(xx(1:n));[b,bint,r,rint,stats]=regress(y,t);RR=stats(1);F=stats(2);prob=stats(3);x0=exp(b(1));r=b(2);py=x0*exp(r*t(:,2));err=xx-py;rmse=sqrt(sum(err.^2)/n);plot(1:n,xx,'*',1:n,py);第六行,错误在哪里呢?

通过调试的程序主要存在的问题是:y、t向量(行、列不一致),xx、py向量(行、列不一致)。是

错误语句:[b,bint,r,rint,stats]=regress(y,t);正确语句:[b,bint,r,rint,stats]=regress(y',t)

错误语句:err=xx-py;正确语句:err=xx-py';

更改后,得到

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-02
你的y是个行向量,转置一下试试