查看单个帖子
旧 2012-06-22, 23:07   #2
jimmymacong
初级会员
 
注册日期: 2012-02-13
帖子: 12
声望力: 14
jimmymacong 正向着好的方向发展
默认 回复: 简单的数据拟合程序编程,谁能帮我看看哪错了?

我不知道是不是你不小心,Z的赋值式中有一个写错了,不该是a^2,该是a.^2下面是完整语句
Z=[ones(36,1),t,t.^2,l,l.^2,a,a.^2,b,b.^2,t.*l,t.*a,t.*b,t.*a.*b,l.*a,l.*b,l.*a.*b,a.*b,l.*t.*a.*b];

另外补充一下你还可能犯的另外一个拟合错误,Z不是一个满秩阵,因此你可能做的结果并不是你想要的结果,我建议你用伪逆指令代替你的右除指令,比如说:
c=pinv(Z)*pcrg; 这是一个良好的编程习惯,不会引起混淆。
另外告诉你求满秩方阵的逆矩阵的函数b=inv(A);
jimmymacong 当前离线   回复时引用此帖