matlab regress函数_MATLAB中regress函数出错了,怎么办,在线等急。大神帮忙

原问题:MATLAB中regress函数出错了,怎么办,在线等急。大神帮忙
分类:编程开发 > 最后更新时间:【2017-03-07 11:04:10】
问题补充:

>> 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
    最佳答案由网友  扣2674716548  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    19

    分享到:

    其他回答

    暂无其它回答!

      推荐