|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
公式是z=a*theta+b*rho
请大家帮我看看这个程序,我的最小二乘法哪里错了?谢谢大家,在线等,谢谢啦!
clc; clear all;
load('C:\Documents and Settings\zou\桌面\newshuj.txt'); input_nor=newshuj;
X=input_nor(:,1); Y=input_nor(:,2); Z=input_nor(:,3); [theta,rho,zi] = cart2pol(X,Y,Z);
if(length(theta) == length(rho)), n = length(theta);
else disp('x和y的维数不相等!'); return; end %维数检查
A=zeros(2,2); B=zeros(2,1);
for i=1:length(theta)
A(1,1)=A(1,1)+theta(i)*theta(i);
A(1,2)=-(A(1,2)+theta(i)*rho(i));
A(2,2)=-(A(2,2)+rho(i)*rho(i));
B(1,1)=B(1,1)+theta(i)*zi(i);
B(2,1)=B(2,1)+rho(i)+zi(i);
end
A(2,1)=-A(1,2); aus=A\B
程序可以运行,但是结果是不对的,aus(1)应该等于10左右的。 aus(2)=0.3640左右
我的错误出现在哪里呢?谢谢大家啊!非常感谢,我看了一个上午,硬是没有想出来,在线等,谢谢!
[ 本帖最后由 ChaChing 于 2009-8-23 15:03 编辑 ] |
|