matlab regress函数用法问题

y=[53675863445784134257857463327544353567672334566298764]';x1=[-8-18-8-8-8-8-8-8];x2=... y=[5367586 3445784 1342578 5746332 754435 356767 2334566 298764]';
x1=[-8 -18 -8 -8 -8 -8 -8 -8];
x2=[100 -100 0 0 -512 -512 0 -1024];
x=[ones(8,1) x1' x2'];
[D]=regress(y,x)
如上程序,不明白为什么x=[ones(8,1) x1' x2']中必须加上ones(8,1)这一列全1,没有ones(8,1)貌似也可以运行啊?即改为如下程序,只是二者结果不一样
y=[5367586 3445784 1342578 5746332 754435 356767 2334566 298764]';
x1=[-8 -18 -8 -8 -8 -8 -8 -8];
x2=[100 -100 0 0 -512 -512 0 -1024];
x=[x1' x2'];
[D]=regress(y,x)
展开
 我来答
lhmhz
高粉答主

2019-10-18 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16985

向TA提问 私信TA
展开全部

题主提出有关 regress函数 用法的问题。为什么x=[ones(8,1) x1' x2'] 和 x=[x1' x2'] 的结果不一样?是因为你所要表达的线性多项式不一样,前者有一个常数项,后者没有常数项。也就是说,

前者的线性多项式为

y=a0+a1x1+a2x2

后者的线性多项式为

y=a1x1+a2x2

运行题主的程序,可以得到

y=3.096e+06 -41695x1+4007.1x2 (前者)

y=-3.1631e+05x1+3023.5x2 (后者)

这两者的结果是不一样的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式