matlab regress函数_MATLAB中regress函数出错了,怎么办,在线等急。大神帮忙
>> xl=[2009 2010 2011 2012 2013 2014 2015]';
>> y=[0.52 9.36 33.6 191 362 571 912]';
>> x=[ones(7,2),xl];
>> [b,bint,r,rint,stats]=regress(y,x);
Warning: X is rank deficient to within machine precision.
> In regress at 80
>> b,bint,stats
b =
1.0e+005 *
0
-3.0051
0.0015
bint =
1.0e+005 *
0 0
-4.2639 -1.7462
0.0009 0.0021
stats =
1.0e+004 *
0.0001 0.0038 0.0000 1.6587
>>
中间出错了
Warning: X is rank deficient to within machine precision.
> In regress at 80
这个要怎么办
结果的R^2不对 要怎么改正 在线等急
补充:隔壁有个同样问题 真心求教 感觉不知道答案早晚会疯啊最佳答案
从提示看,意思是:警告,X的秩亏在机器精度内。这说明,矩阵X的秩不太好,若以X为线性方程组的系数矩阵,则解对误差很敏感,小的波动会造成较大的解误差。但这只是警告,解的精度不好,并不是算法出错。要改进,只有改矩阵的元素,直到不出这种警告。
追问:
那矩阵的元素怎么改呀 X,y值都是固定的 这个结果的统计检验量解得不对 显著性太低了求帮忙Q_Q
其他回答
暂无其它回答!