早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab矩阵运算就回归求参数一个四元一次方程y=ax1+bx2+cx3+d,现在有四组数据求解a,b,c,d,我写的程序A=[0.693000;-1.715-1.715-1.715-1.715;0.6289428260.6289428261.4258868-0.064204355;1111]D=[6.6786.1686.1116.066

题目详情
matlab矩阵运算就回归求参数
一个四元一次方程y=ax1+bx2+cx3+d,现在有四组数据求解a,b,c,d,
我写的程序A=[0.693 0 0 0;-1.715 -1.715 -1.715 -1.715;0.628942826 0.628942826 1.4258868 -0.064204355;1 1 1 1]
D=[6.678 6.168 6.111 6.066;0 0 0 0;0 0 0 0;0 0 0 0]
B=pinv(A)
C=D*B
D矩阵相当于y
A矩阵相当于四组(x1 x2 x3 x4)
但运行结果跟用excel回归的结果差很多
D*B那里换成D/A和D.*B的结果不一样,
▼优质解答
答案和解析
感觉你这里面很多东西都不对劲.
首先D的形式就不对头.你的a,b,c,d都是标量对吗?如果D相当于y,那么应该是一个列向量,而不是一个4*4的矩阵.
然后C就是求出的abcd吗?
先把A转制
A=[0.693 0 0 0;-1.715 -1.715 -1.715 -1.715;0.628942826 0.628942826 1.4258868 -0.064204355;1 1 1 1]'
B=pinv(A)
C=D*B这个式子就应该是C=B*D.B应该在左边
或者C=A\D.同样A必须在左边.不等于D/A
还有D*B 和D.*B 根本不是一回事